如果用户拒绝在onbeforeunload事件中留下页面,那么事后是否会触发事件?

时间:2013-05-06 21:59:31

标签: javascript jquery onbeforeunload

主题几乎就是这么说的。如果用户决定留在页面上,我想显示另一个div。如果他们拒绝页面导航,我可以听一个事件吗?

我在这里找到了这个,Detecting whether user stayed after prompting onBeforeUnload 但我根本无法使用它。我没有“拥有”显示的按钮,所以我无法监控点击,或者我可以吗?

1 个答案:

答案 0 :(得分:2)

无法判断是否单击了“确定”或“取消”按钮,就像你说的那样,你没有“拥有”它。

话虽如此,理论上应该有一个技巧。如果用户单击“取消”,则onunload事件将永远不会执行,并且所有内容都保持与执行弹出窗口之前的状态相同。但是,如果单击“确定”按钮,则将执行onunload事件。因此,理论是:如果执行onunload事件,您可以确定用户是否单击了OK。这个问题是你在onunload事件中没有太多可以做的事情,因为那时它是不可阻挡的。

因此,对于您的问题的明确答案:否。如果用户单击取消,则不会触发onb​​eforeunload事件之后触发的典型onunload事件。