0

我试图弄清楚如何防止onBeforeUnload在使用没有 href 的链接时在 IE9+ 中触发事件。

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

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

所以。onBeforeUnload设置时,有什么方法可以阻止来自触发器的链接上的点击事件addEventListener?还是 MS 在从 迁移attachEvent到时消除了这种可能性addEventListener,因为阻止用户导航离开页面通常是个坏主意?

4

1 回答 1

0

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

以这个jsFiddle为例

于 2014-01-10T10:19:45.900 回答