Javascript如何:隐藏onBeforeUnload的浏览器弹出窗口并显示自定义弹出窗口

Javascript如何:隐藏onBeforeUnload的浏览器弹出窗口并显示自定义弹出窗口,javascript,jquery,html,onbeforeunload,Javascript,Jquery,Html,Onbeforeunload,我正在建立一个MMO,其中有一个教程 当用户试图在教程中导航离开教程或关闭选项卡/浏览器时,我需要显示一个自定义弹出窗口,其中包含有关用户退出教程原因的选项 我熟悉onbeforeuload事件,但我的要求是显示自定义弹出窗口,而不是浏览器默认弹出窗口,因为除了更改文本消息之外,它无法自定义 是否有任何方法可以隐藏浏览器弹出窗口并显示我的自定义弹出窗口。我真的建议您使用jQuery UI。它将使您的生活更加轻松,并且在API中内置了模态对话框。请看这里: 好吧,我之前说的完全错了。一定很累了 由

我正在建立一个MMO,其中有一个教程

当用户试图在教程中导航离开教程或关闭选项卡/浏览器时,我需要显示一个自定义弹出窗口,其中包含有关用户退出教程原因的选项

我熟悉
onbeforeuload
事件,但我的要求是显示自定义弹出窗口,而不是浏览器默认弹出窗口,因为除了更改文本消息之外,它无法自定义

是否有任何方法可以隐藏浏览器弹出窗口并显示我的自定义弹出窗口。

我真的建议您使用jQuery UI。它将使您的生活更加轻松,并且在API中内置了模态对话框。请看这里:

好吧,我之前说的完全错了。一定很累了

由于它在DOM中的激发方式,您不能重写onbeforeunload。这是一个很好的解释


如果不是编程的JavaScript警报,浏览器弹出窗口来自何处?
onbeforeunload
调用浏览器弹出窗口,如下所示
window.onbeforeunload=function(event){var surveyText=“请稍等片刻,通过单击下面的“停留在页面”按钮,让我们知道您为什么要退出本教程”;return surveyText;}
我认为这不适用于浏览器事件。我很确定这适用于其他
javascript事件
如单击页面上的链接等,但是你确定这对
浏览器事件
有效吗?如果你能为这一事件共享一个工作演示或一个JSFIDLE,那就太好了。我想说的是,你可以在模式对话框中打开任何你想显示的内容,并在X秒内禁用按钮。我不确定我是否理解你的意思。你如何禁用关闭按钮jQuery中有一个.button(“disable”)API。同样,这不适用于浏览器关闭按钮!