Javascript 使用addEventListener取消onBeforeUnload
我试图找出如何防止在IE9+中使用不带HREF的链接时触发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 是的,将链接更改为按钮将是一个解决方
onBeforeUnload
事件
我在这里设置了一个(真实场景的简化测试),它几乎描述了我试图实现的目标。每当触发onBeforeUnload
时(因此,当单击链接时),页面背景变为蓝色。使用attachEvent
时,我可以轻松地返回false
,以防止这种情况发生。但是当使用addEventListener
添加链接的click事件时,return语句没有任何区别。或多或少,我希望链接4的行为类似于链接2
是的,将链接更改为按钮将是一个解决方案。改变onBeforeUnload功能(比如将该代码作为点击功能的一部分)将是另一个选择。但遗憾的是,我无法控制这些代码
所以。使用
addEventListener
设置时,是否有任何方法可以停止触发器onBeforeUnload
链接上的单击事件?或者MS在从attachEvent
迁移到addEventListener
时是否消除了这种可能性,因为阻止用户离开页面通常是个坏主意?使用addEventListener时,可以向侦听器函数添加一个参数。参数将包含触发的事件(您可以停止此操作)
使用
event.preventDefault()
假设参数名为event
以此为例我的上帝!事实上你是对的。我确信我试过各种e.preventDefault()和类似的东西。我现在觉得有点傻。非常感谢,朋友!