我正在尝试找出如何防止 onBeforeUnload 使用没有 href 的链接时,在 IE9+ 中触发事件。

我已经设置了一个 小提琴 这里(真实场景的简化测试),它几乎描述了我想要完成的任务。每当 onBeforeUnload 被触发(因此,当单击链接时),页面背景变为蓝色。使用时 attachEvent 我可以轻松地 return false 以防止这种情况发生。但是当添加链接的点击事件时 addEventListener, , return 语句没有任何区别。或多或少,我希望链接 4 的行为与链接 2 类似。

是的,从链接更改为按钮将是一个解决方案。改变 onBeforeUnload 功能(例如将该代码作为单击功能的一部分)将是另一个。但遗憾的是,我无法控制这些代码。

所以。有什么方法可以阻止触发器中链接上的点击事件 onBeforeUnload 当设置为 addEventListener?或者MS在迁移时是否消除了这种可能性 attachEventaddEventListener, ,因为阻止用户离开页面通常不是一个好主意?

有帮助吗?

解决方案

使用 addEventListener 时,您可以向侦听器函数添加参数。
该参数将包含被触发的事件(您可以停止它)
使用 event.preventDefault() 假设参数称为事件。

看到这个 jsFiddle 举个例子

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top