带有Jquery事件的Javascript onbeforeunload错误

带有Jquery事件的Javascript onbeforeunload错误,javascript,jquery,onbeforeunload,Javascript,Jquery,Onbeforeunload,我有submit按钮submit_marksheets,它在提交标记之前会请求确认 我还有一件事要做的是,每当做出更改时,用户将单击另一个页面,然后它将要求“保存更改”确认 我在下面给出了这些代码。问题是当我点击提交标记表按钮时,它会给出警告。但在我点击其他页面后,onbefore卸载不会调用。我不知道为什么 有人能告诉我如何解决这个问题吗 $(':input', document.frmMarksheets).live("change", function() { $('#submit

我有submit按钮submit_marksheets,它在提交标记之前会请求确认

我还有一件事要做的是,每当做出更改时,用户将单击另一个页面,然后它将要求“保存更改”确认

我在下面给出了这些代码。问题是当我点击提交标记表按钮时,它会给出警告。但在我点击其他页面后,onbefore卸载不会调用。我不知道为什么

有人能告诉我如何解决这个问题吗

$(':input', document.frmMarksheets).live("change", function() {
    $('#submit_marksheets').live('click', function() {
        setConfirmUnload(false);
        return true;
    });
    setConfirmUnload(true);
});

function setConfirmUnload(on) {
     window.onbeforeunload = (on) ? unloadMessage : null;
}

我不确定代码中出现问题的原因,但在这种卸载确认中遇到了问题,这就是我采取的路线:

设置一个全局变量,该变量指示是否发出消息:

var ConfirmPageExit = true;
window.onbeforeunload = function(){ return (ConfirmPageExit) ? unloadMessage : null;  };
现在,任何想要退出的动作都会触发你的信息。然后,对于任何要用于关闭消息的内容,只需将该var设置为false:

$('#submit_marksheets').live('click', function() {
    ConfirmPageExit = false;
});

unloadMessage
是字符串还是函数?