2009-09-08 4 views
6

ajax 호출을하는 동안 팝업으로 모달로드 대화 상자를 표시하려고하지만 onClick 함수에 표시되지 않습니다. 만약 방화범이 나서 천천히 내려 가면 로딩 패널이 나타납니다. 이 자바 스크립트 자체가 앞서 실행 중입니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?호출시 jQuery 대화 상자가 표시되지 않습니다.

$(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

해결 했습니까? 나는 똑같은 문제를 겪고있다. – xenon

+3

아니요 프로젝트에서 벗어났습니다 – ErsatzRyan

+0

좋습니다. 감사합니다. 나는 지금 어떻게 문제를 해결했는지 기억조차 할 수 없다 : P – xenon

답변

1

그냥 아이디어, 대화 상자를 만들 때 false로 '에 AutoOpen'을 설정하려고 : 순간

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

을 당신이 그것을 만들 때 열 대화 상자를 말하고있다. 이것은 그 행동을 막아야합니다.

+0

그게 수정되지 않았다. – ErsatzRyan

+0

어느 쪽이든, 거기에 있어야한다. :) – Ryall

1

@ErsatzRyan는

당신은 당신의 문서가 준비 후로드 자바 스크립트 기능을 설정 봤어? 이처럼

:

$(document).ready(function(){ 

//Your functions 

}); 

그리고 @Nat Ryall, 당신은, false에에 AutoOpen을 설정해야합니다 말했듯 그렇지 않으면 대화 상자가 두 번 열리지 않습니다

.

그리고 다른 것은 모든 것을 완료 한 후에 $(".selector").dialog("open")으로 전화하십시오. 대화 내용을로드하기 전에 대화를 호출하도록 함수에 지시합니다.

+0

$ (function() {}); 그가 사용하는 구문은 동등합니다. [spec for ready] (http://api.jquery.com/ready/)를 참조하십시오. –

+0

이것이 나를 위해 고쳐 준 것입니다. 문서가 준비되기 전에 대화 상자를 만드는 것은 오류가 발생하지 않고 표시하지 않더라도 작동하지 않습니다. –

관련 문제