javascript – 是否可以以编程方式触发onbeforeunload事件?
作者:互联网
我目前正在使用jquery-form-observe插件,该插件使用onbeforeunload来提示用户“未保存”的更改.
但我有一个场景,我需要在按钮点击时触发它:按钮点击最终会导致页面更改,但我想在用户启动按钮点击开始的过程之前提示用户…
那么有没有办法通过jQuery或其他方式触发onbeforeunload?
解决方法:
我不知道是否有直接的方法可以做到这一点,但您可以自己模拟浏览器的确认框.这是我基于specs at MSDN编写的一个简单的功能:
function triggerBeforeUnload() {
var event = {};
handler(event);
if (typeof event.returnValue == 'undefined' ||
confirm('Are you sure you want to navigate away from this page?\n\n' + event.returnValue + '\n\nPress OK to continue, or Cancel to stay on the current page.')) {
// Continue with page unload
} else {
// Cancel page unload
}
}
编辑:在jquery.formobserver.js中,在函数beforeunload(e){…}的定义之后,添加以下行:
handler = beforeunload;
请注意原始代码中的更改:window.onbeforeunload已被handler替换.
标签:javascript,jquery,jquery-plugins,dom-events 来源: https://codeday.me/bug/20190929/1831398.html