2011-02-21 4 views
1
$("#termSheetPrinted").dialog({ 
      autoOpen: false, 
      resizable: true, 
      height: 800, 
      width: 950, 
      position: 'center', 
      title: 'Term Sheet', 
      modal: true, 
      buttons: { 
       "Print": function() { 
        $("#termSheetPrinted").jqprint(); 
       }, 
       "Cancel": function() { 
        $("#termSheetPrinted").html(''); 
        $(this).dialog("close"); 
       } 
      } 
     }); 

이 대화 상자는 창 상단에 'x'와 함께 나타나 대화 상자를 닫습니다. 'Cancel'버튼과 마찬가지로 'x'를 클릭하면 $(this).dialog("close");이 실행되기를 원합니다.JQuery 대화 상자가 'x'로 닫는 것과 같은 방법으로 취소합니다.

어떻게하면됩니까?

답변

2

"x"를 클릭했을 때 일어나는 일을 구체적으로 변경하는 방법을 모르겠지만 "close"또는 "beforeClose"이벤트 핸들러를 만들면 대화 상자 닫히고, 일어난다.

0

나는 취소 버튼 클릭과 beforeClose 이벤트에서 호출되는 별도의 함수를 만들 것입니다. (닫기 및 beforeClose 이벤트에 대한 위의 JacobM의 링크를 참조하십시오.) 취소 버튼 클릭과 beforeClose 이벤트 둘 다에서 함수를 호출하면이 방법과 효과를 보여주는 간단한 수퍼 자음 코드가 jsFiddle입니다. (그리고 그들이 발사하는 순서). 이상적으로는 취소 버튼 기능에 $(this).dialog("close");이 있고 추출 된 기능으로 $("#termSheetPrinted").html('') 호출로 이동하십시오.

0

(좀 더 도움이 ;-) 필요로하는 모든 우리를 위해) 허용 대답에 조금 더 설명 :

은 ID가있어 사용자가를 누를 때 당신이 그것에 의해 식별되는 필드에 포커스를 설정하고 싶은 말은을 [ X]

... 
$("#myDivId").dialog({ 
    resizable: true, 
    modal: true, 
    dialogClass: "cssClass", 
    close: function() { 
      $("#focusFieldId").focus();    
    } 
    }); 
... 

참조 : https://jquery-ui.googlecode.com/svn/tags/1.8.24/docs/dialog.html#event-close

관련 문제