2009-09-08 19 views
6

Bir ajax çağrısı yaparken açılırken bir modal yükleme iletişim kutusu açmaya çalışıyorum ancak onClick işlevinde görünmüyor. Eğer ateş böceği ile yavaşlatırsam ve yükleme panelinden adım atsam. Bu sadece javascript kendi başına ilerliyor mu? Bunu yapmanın daha iyi bir yolu var mı?jQuery İletişim kutusu çağrıldığında görünmüyor

$(function(){ 
    $("#loading_panel").dialog({ 
           modal:true, 
           position:'center', 
           minHeight:40 
           }); 

    $("a.view-in-frame").click(function(){ 
         $("#loading_panel").dialog('open'); 
         $("#tabs").hide(); 
         var blog = $(document.createElement('div')).attr('id', 'blog').load(('blog_reader.php?blog='+this.href)), $("#loading_panel").dialog('close')); 
         $("#content_wrap").append(blog); 
         return false; 
       }); 
}) 
+0

Bunu hiç çözdünüz mü? Bende aynı problemi yaşıyorum. – xenon

+3

hayır Projeden taşındım – ErsatzRyan

+0

Tamam, teşekkürler. Şu anda bu sorunu nasıl çözdüğümü bile hatırlayamıyorum: P – xenon

cevap

1

Sadece bir fikir, diyalog oluştururken false 'kendaç' ayarlamayı deneyin: Şu anda

$("#loading_panel").dialog({ 
          modal:true, 
          position:'center', 
          minHeight:40, 
          autoOpen:false 
          }); 

bunu oluşturulduğunda açmak için diyalog anlatıyorsun. Bu davranışları engellemelidir.

+0

Hayır, bu hata düzeltmedi – ErsatzRyan

+0

Her iki durumda da orada olmalı. :) – Ryall

1

@ErsatzRyan

Eğer belge hazır sonra yüklemek üzere javascript fonksiyonu set denediniz mi? Bunun gibi

:

$(document).ready(function(){ 

//Your functions 

}); 

Ve @Nat Ryall, sen false için kendaç ayarlamalısınız söylediği gibi aksi takdirde iletişim iki kere açılmaz

.

Ve başka bir şey, her şeyi yaptıktan sonra $(".selector").dialog("open") numaralı telefonunuzu aramayı deneyin. İşlevinizi, içeriği yüklemeden önce iletişim pencerenizi çağırmasını söylüyorsunuz.

+0

$ (işlev() {}); kullandığı sözdizimi eşdeğerdir. [Hazırlanmak için] bölümüne bakın (http://api.jquery.com/ready/). –

+0

Bu benim için bunu çözdü. Belge hazır olmadan önce iletişim kutusu oluşturmak, hiçbir hata atılmasa bile ve göstermeye çalışmadığınızda bile işe yaramaz. –