window.onbeforeunload能否手动调用。

目前做了个单页应用,策划表示需要在用户关闭当前标签页时检测用户是否输入了内容,是的话就弹出对话框让用户确定是否离开,这个我使用window.onbeforeunload实现了。
然后策划又表示在系统内部进行切页时也要做同样的检测,而window.onbeforeunload的弹框貌似要刷新或关闭标签页时才触发,我要如何才能手动调用使该弹框出现呢?

阅读 5.1k
3 个回答

jQuery可以使用trigger函数。
chrome下使用JS手动触发原生事件,使用dispatchEvent即可。

eg:

window.onbeforeunload = () => console.log('I am triggered')
window.dispatchEvent(new Event('beforeunload'))

// console 打印出 I am triggered

2017-08-30 更新,chrome内测试没有问题。

clipboard.png

你这个就想偏了 你既然是单页应用 你的路由跳转肯定会有相应的钩子函数 你在那里面执行就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题