Javascript 使用addEventListener取消onBeforeUnload

Javascript 使用addEventListener取消onBeforeUnload,javascript,internet-explorer,addeventlistener,onbeforeunload,attachevent,Javascript,Internet Explorer,Addeventlistener,Onbeforeunload,Attachevent,我试图找出如何防止在IE9+中使用不带HREF的链接时触发onBeforeUnload事件 我在这里设置了一个(真实场景的简化测试),它几乎描述了我试图实现的目标。每当触发onBeforeUnload时(因此,当单击链接时),页面背景变为蓝色。使用attachEvent时,我可以轻松地返回false,以防止这种情况发生。但是当使用addEventListener添加链接的click事件时,return语句没有任何区别。或多或少,我希望链接4的行为类似于链接2 是的,将链接更改为按钮将是一个解决方

我试图找出如何防止在IE9+中使用不带HREF的链接时触发
onBeforeUnload
事件

我在这里设置了一个(真实场景的简化测试),它几乎描述了我试图实现的目标。每当触发
onBeforeUnload
时(因此,当单击链接时),页面背景变为蓝色。使用
attachEvent
时,我可以轻松地
返回false
,以防止这种情况发生。但是当使用
addEventListener
添加链接的click事件时,return语句没有任何区别。或多或少,我希望链接4的行为类似于链接2

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


所以。使用
addEventListener
设置时,是否有任何方法可以停止触发器
onBeforeUnload
链接上的单击事件?或者MS在从
attachEvent
迁移到
addEventListener
时是否消除了这种可能性,因为阻止用户离开页面通常是个坏主意?

使用addEventListener时,可以向侦听器函数添加一个参数。
参数将包含触发的事件(您可以停止此操作)
使用
event.preventDefault()
假设参数名为event


以此为例

我的上帝!事实上你是对的。我确信我试过各种e.preventDefault()和类似的东西。我现在觉得有点傻。非常感谢,朋友!