2011-02-21 8 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」が表示されて閉じます。この「x」が「キャンセル」ボタンと同じようにクリックされたときに、$(this).dialog("close");を実行します。JQueryダイアログが「x」でキャンセルするのと同じ方法でキャンセルします。

どうすればいいですか?

答えて

2

「x」をクリックしたときの動作を具体的に変更する方法はわかりませんが、「close」または「beforeClose」というイベントハンドラを作成して、ダイアログ閉じている、起こる。

0

私は、キャンセルボタンのクリックとbeforeCloseイベントで呼び出される別の関数を作成します。 (closeとbeforeCloseイベントの上記のJacobMのリンクを参照してください)

ここでは、キャンセルボタンのクリックとbeforeCloseイベントの両方から関数を呼び出すと、これを行う方法と影響を示すために、 (そして彼らが発射する順序)。理想的には、キャンセルボタンの機能には$(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

関連する問題