【发布时间】:2017-04-24 07:08:04
【问题描述】:
已经回答了一个类似的问题 (Disable "Changes you made may not be saved" pop-up window),但不知何故这对我仍然不起作用。
我正在尝试在表单输入更改时禁用Changes you made may not be saved. 对话框。我知道 Chrome 已经删除了自定义消息功能,但我很难完全禁用该框。我在一些 HTML 代码的底部有以下 javascript:
window.onbeforeunload = function() {
};
window.onbeforeunload = null;
这两个都不适合我。当我在检查器控制台中输入window.onbeforeunload 时,我得到一个null 返回值。 window.onbeforeunload = null; 可以在页面生命周期内的任何地方调用吗?也许我把它放错地方了?
【问题讨论】:
-
某事可能会以“正确”的方式添加事件侦听器,即
window.addEventListener('beforeunload', ...)- 但如果这是您的代码,您就会知道 -
如果你的页面使用 jQuery,你可能会很幸运,
$(window).off('beforeunload');可能对你有用 - 因为你没有分享你使用的库等,这是一个在黑暗中拍摄 -
@JaromandaX,这行得通,谢谢!哎呀。我想知道为什么会这样?如果您想发布答案,我会接受。
-
在我添加作为答案之前,了解您正在使用哪些 JS 库(显然 jQuery 就是其中之一)会很有用,还有什么其他的?可能是一些 helpful jQuery 插件/插件正在添加 helpful" 事件处理程序:p
-
您只需要使用与最初添加处理程序时使用的任何功能相反的方法。如果您使用
.on(),则使用.off将其删除。如果您使用.addEventListener,则使用.removeEventListener。如果你使用window.onbeforeunload = function,你使用window.onbeforeunload = null
标签: javascript google-chrome dom