使用 addEventListener 取消 onBeforeUnload
-
21-12-2019 - |
题
我正在尝试找出如何防止 onBeforeUnload
使用没有 href 的链接时,在 IE9+ 中触发事件。
我已经设置了一个 小提琴 这里(真实场景的简化测试),它几乎描述了我想要完成的任务。每当 onBeforeUnload
被触发(因此,当单击链接时),页面背景变为蓝色。使用时 attachEvent
我可以轻松地 return false
以防止这种情况发生。但是当添加链接的点击事件时 addEventListener
, , return 语句没有任何区别。或多或少,我希望链接 4 的行为与链接 2 类似。
是的,从链接更改为按钮将是一个解决方案。改变 onBeforeUnload 功能(例如将该代码作为单击功能的一部分)将是另一个。但遗憾的是,我无法控制这些代码。
所以。有什么方法可以阻止触发器中链接上的点击事件 onBeforeUnload
当设置为 addEventListener
?或者MS在迁移时是否消除了这种可能性 attachEvent
到 addEventListener
, ,因为阻止用户离开页面通常不是一个好主意?
解决方案
使用 addEventListener 时,您可以向侦听器函数添加参数。
该参数将包含被触发的事件(您可以停止它)
使用 event.preventDefault()
假设参数称为事件。
看到这个 jsFiddle 举个例子
不隶属于 StackOverflow