Javascript onbeforeunload Jquery 事件错误

标签 javascript jquery onbeforeunload

我有提交按钮submit_marksheets,它在此之前提交标记,它会要求确认。

我还有一件事是,每当进行更改并且用户单击另一个页面时,它都会要求“保存更改”确认。

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

谁能告诉我如何解决这个问题?

$(':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;
});

关于Javascript onbeforeunload Jquery 事件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5718278/

相关文章:

javascript - 在 Electron 中卸载前确认

javascript - 当 Firefox 鼠标事件不存在时,在 onbeforeunload 上获取它?

javascript - window.onbeforeunload 不在子窗口中触发

javascript - SAP UI5 - 如何根据行状态禁用 sap.m.Table Multiselect 表中的行

javascript - 这是对 Javascript 的 eval() 的错误使用吗?

jquery - 将 div 固定到 100% 容器的底部并允许 while 容器滚动

javascript - 如何使用 for 语句和数组确定单击了哪个元素

javascript - 访问已创建的 Chart.js 图表

javascript - 正则表达式第一个结果 ($1) 替换为变量的属性

jQuery CSS 样式在某些情况下不更新