0
function InvokePage() {
var layerDlg = $("#Layer").dialog({
position: { my: "top", at: "bottom", of: $("header") },
height: "auto",
width: "auto",
maxWidth: 400,
modal: true,
appendTo: "form",
resizable: false,
open: function(){},
beforeclose: function()
{
var a = 1;
},
close: function() {
if (g_changesMade) {
//CODE FOR NOT CLOSING POPUP
InvokeContinueWithoutSavePopUp();
}
else
{
//CODE FOR CLOSING POPUP
$(this).parent().replaceWith("");
layerDlg = null;
}
}
});
}
だから私はポップアップの右上にある 'X'ボタンをクリックすると 'Layer' divを持つJquery DialogのpopUpを開きます。コードがジャンプしますしかし、popUpはすでに閉じていますが、g_changesMade = FALSEの場合はpopUpを閉じたいだけです。JQUERY popUp div、閉じる前に変数をチェック
IF g_changesMadeがTRUEの場合、InvokeContinueWithoutSavePopUp();を開く前に試してみました。しかし、それはまったくその機能に当たっていませんでした。
「X」をクリックしてg_changesMadeの値をチェックし、必要なロジックを実行するときに呼び出される関数を変更することが解決されるでしょうか? どうすれば 'x'これは可能ですか?
試してみると
beforeClose
でなければならない「クローズ」コールバック関数 – diavolicbeforeCloseは「C」「beforecolse」あなたのコードでは、近くの前に呼び出されていない小文字であるべきですjQueryダイアログの有効な関数は "beforeClose"にする必要があります。この行を試してください "beforeClose:function(){return g_changesMade;}" –