javascript - 捕获 beforeunload 确认已取消?

标签 javascript jquery events onbeforeunload

我想在用户离开页面时做一些事情,我添加此代码

window.onbeforunload = function (e){
   return "You save some unsaved data, Do you want to leave?";
}  

此提示可以通知用户,用户可以留在页面上或离开。但我想更多地了解他是否离开,并根据他的决定采取行动。我试过这个,

window.onbeforunload = function (e){
   var event = jQuery.Event(e);
   var result = confirm('want to leave?');
   if (result ==  false){
     //do sth.. 
     event.preventDefault();
   }else{
    //do clean up
   }
} 

但是失败了!!它总是会消失!

有人可以帮助我做到这一点吗?

最佳答案

您使用的方法(防止事件冒泡)故意不可行,否则您可能会阻止用户离开您的页面。

您可以通过执行清理onunload来实现与您想要的类似的效果,并执行您一直想做的事情onbeforeunload

关于javascript - 捕获 beforeunload 确认已取消?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259217/

相关文章:

javascript - if 语句后的空行用分号

javascript - Meteor/MongoDB 看到可用的发布字段?

jQuery fancyBox 关闭图标在 IE8 中裁剪

html - 如何防止默认 Css 滚动 onclick 并仅允许 javascript 事件?

wpf - 数据绑定(bind)落后于事件通知 - 讨论

javascript - AngularJS表单验证: show error message for checkbox after click on submit

javascript - 从 React 类修改 React 元素

javascript - 在另一个窗口上绑定(bind)事件

Jquery - 方 block 淡出又回来

php - 是否可以触发数据库更改并在 Laravel 中触发事件?