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;
}
}
});
}
所以......我正在打开一个带有' Layer'的Jquery Dialog popUp。 div,当用户点击' X'弹出窗口右上角的按钮代码跳转到' close()' function ...但是popUp已经关闭了,我只想关闭popUp如果g_changesMade = FALSE,
如果g_changesMade为TRUE,请打开InvokeContinueWithoutSavePopUp();,我尝试在关闭之前使用它,但它根本没有进入该功能。
那么解决方案就是更改“' X'单击以检查g_changesMade的值并执行必要的逻辑, 我怎样才能超越'x'然后关闭?这有可能吗?
答案 0 :(得分:0)
首先,没有名为beforeclose
的方法。必须为beforeClose
,大写字母为 C
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() // <-- capital letter C
{
var a = 1;
},
close: function () {
if (g_changesMade) {
//CODE FOR NOT CLOSING POPUP
InvokeContinueWithoutSavePopUp();
}
else
{
//CODE FOR CLOSING POPUP
$(this).parent().replaceWith("");
layerDlg = null;
}
}
});
}