【问题标题】:onbeforeunload confirm dialog can be customised with custom dialog box with good design?onbeforeunload 确认对话框可以使用设计良好的自定义对话框进行自定义吗?
【发布时间】:2016-07-29 16:58:31
【问题描述】:

我们可以用自定义设计的对话框(如 jquery UI 对话框)覆盖离开确认对话框的页面吗?

我正在尝试将其实现为:

var 警告 = true;
var v_leavemsg = "你确定要离开页面吗?"; window.onbeforeunload = 确认退出;

函数 confirmExit() {
如果(警告){
// 自定义对话框 FUNCTION CALL
f_customdialog(v_leavemsg);
返回空值;
}
}


函数 f_customdialog(msg) {
//例如。我们可以在这里使用带有“是”或“否”按钮的 JQUERY 对话框
警报(消息);
}

【问题讨论】:

  • 是的,你可以。您可以将任何功能绑定到 onbeforeunload,这样您就可以显示您想要的任何对话框。如果已经绑定了不同的事件处理程序,只需将其删除。

标签: javascript


【解决方案1】:

我不确定,但如果有办法在onbeforeunload 调用给定函数时停止代码执行。

我想到的是,您可以在第一次调用时返回 false 并创建自定义对话框,如果用户想离开网站,触发 onbeforeunload 事件并更改 onbeforeunload 函数,然后返回 true默认情况下。

这样你就可以“欺骗”默认行为。

问题是onbeforeunload 是同步的,而任何自定义对话框都不是。它与原生对话框一起工作,因为它是同步执行的。

不确定这是否可行。

【讨论】:

  • 嗨,Br先生,谢谢您的回答。但它不会工作。它只会警告“假”并且没有任何函数调用正在工作。我只是想用 jquery UI 对话框覆盖默认页面离开确认对话框,使其看起来像自定义对话框。
猜你喜欢
  • 2011-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
  • 2011-10-19
相关资源
最近更新 更多