【问题标题】:create confirmation popup when user attempts to leave the page当用户尝试离开页面时创建确认弹出窗口
【发布时间】:2019-04-16 19:45:58
【问题描述】:

基本上我是在我公司的内部网站上使用它,我们希望确保如果用户在填写表格时不小心点击了指向其他页面的链接,他们不会丢失他们所获取的信息'已经把表格。我在 javascript 中尝试了 window.onbeforeunload,但没有成功,所以我搬到了 jquery:

我尝试过使用 window.onbeforeunload,它似乎没有做任何事情。在 jquery 中使用 bind beforeunload 进行同样的操作:

    jQuery($(window).bind('beforeunload', function(){
        confirm('Are you sure you want to leave? Any information in "Notify" will be lost.');
    }));

【问题讨论】:

标签: javascript


【解决方案1】:

你没有正确使用beforeunload

window.addEventListener('beforeunload', function (e) {
  // Cancel the event
  e.preventDefault();
  // Chrome requires returnValue to be set
  e.returnValue = '';
});
<a href="https://example.com">Leave</a>

【讨论】:

  • 这很好用,谢谢。当你在这里时,我试图让它只在某个元素具有某个类时使用这个 if 语句运行:if (jQuery('#notify-tab').hasClass('ui-tabs-tab')) { (your code above) } else {console.log('false')} 但它总是返回flase,我不认为有任何语法错误&我已经使用检查检查了该元素,它具有我在上面指定的类和 ID。
  • @TrentonMoore 我不能说没有看到所有相关代码(HTML 和 CSS),这确实是一个与您在此处发布的问题不同的问题。请将其标记为“the”答案并发布关于if/then 的新问题。
猜你喜欢
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多