2009-11-14 5 views
9

javascript 및 jQuery를 처음 사용합니다. jQuery UI 위젯을 사용하여 모달 대화 상자를 구현하려고합니다.jQuery UI 모달 대화 상자가 차단되지 않습니다.

모달 대화 상자가 확인 및 취소 버튼으로 올바르게 표시되지만 대화 ('열기') 함수 호출이 차단되지 않고 확인 또는 취소 클릭을 기다리는 것처럼 보입니다. 예를 들어, 내가 버튼에 다음 코드

를 ..... 실행할 때

okToDelete = false; //a global variable 
    $('deleteDialog').dialog('open'); //this does not block but returns immediately 
    alert(okToDelete == true ? "ok" : "false"); 

경고 상자가 먼저 표시하고 다음 모달 대화 상자가 표시됩니다 클릭! okToDelete는 함수를 입력 할 때 false로 설정되고 OK 버튼 콜백에서 true로 설정된 전역 변수입니다.

여기가 '블록'을 의미하지 않는다 나의 대화 init 함수

$("#deleteDialog").dialog({ 
     bgiframe: true, 
     autoOpen: false, 
     modal: true, 
     overlay: { 
      backgroundColor: '#000', 
      opacity: 0.5 
     }, 
     buttons: { 
      Cancel: function() { 
       $(this).dialog('close'); 

      }, 
      Ok: function() { 
       $(this).dialog('close'); 
       okToDelete = true; 
      } 
     } 
    }); 

답변

11

입니다. callback 또는 ok, cancel 함수 내에 경고를 표시하려면 대화 상자를 닫은 후에 경고를 표시하거나 (테스트 용이라고 가정) 대화 상자를 닫은 후 다른 함수를 호출하고 싶습니다.

확인이 아웃 :
대화 상자가 닫힐 때이 이벤트가 트리거 : 워드 프로세서에서
http://docs.jquery.com/UI/Dialog#event-close

이벤트 close.
코드 예제

close 이벤트를 처리하는 콜백 함수를 init 옵션으로 제공하십시오.

$('.selector').dialog({ 
    close: function(event, ui) { ... } 
}); 

닫기 이벤트 유형 : 대화 닫습니다.

$('.selector').bind('dialogclose', function(event, ui) { 
    ... 
}); 
관련 문제