【问题标题】:confirmation before exit dialog退出对话框前的确认
【发布时间】:2013-06-17 08:35:11
【问题描述】:

在大多数页面中,如果您正在执行某个操作(如编辑、创建),并且当我尝试退出时,它通常会提示我是否真的要退出。该对话框为我提供了两个选项:离开或取消并继续。你如何在 JavaScript 中实现这一点?我必须使用元元素吗? 请不要提及beforeunload,除非这是实现此目的的唯一方法。

【问题讨论】:

标签: javascript html api exit confirm


【解决方案1】:

为什么不提onbeforeunload?这是这样做的内置方式,我认为使用它没有问题。

function myConfirmation() {
    return 'Are you sure you want to quit?';
}

window.onbeforeunload = myConfirmation;

【讨论】:

  • 这会产生浏览器默认的离开或停留对话框。如果你想要更高级的东西,你可以让这个函数调用一个 jQuery 或 Fancybox 对话框,然后根据更高级的对话框中发生的情况返回 truefalse
  • @chenasraf 我不知道浏览器会生成一个默认对话框! +1
  • @chenasraf 有时间限制,我要等 5 分钟。在接受任何答案之前。
【解决方案2】:

我用的是:

onClick="return confirm('Sure you want to exit..?')"

【讨论】:

    【解决方案3】:
    window.onbeforeunload = function() { 
          if(confirm('are you sure to exit?')) 
               return true; 
          else 
               return false; 
    };
    

    【讨论】:

    • @Gaurav 感谢漂亮的印刷品。
    • Alex,这会导致重复对话框。
    • 大家都知道,这不仅不再起作用(由于确认在 onbeforeunload 中被阻止),还会导致默认对话框显示为“true”或“false”。只需让您的 onbeforeunload 返回您希望向用户显示的文本,浏览器就会从那里对其进行排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多