javascript void(0) 在火狐 IE中也会跳转到新的页面问题

mac2024-05-31  28

在项目中遇到一个奇怪的问题:

 

<a target="_blank"  href="javascript:void(0);">点我啊</a>1

这样一段代码,在谷歌中点击a标签,并不会发生页面跳转,但是在IE和火狐则会跳转到一个空白页面。

问题原因  浏览器默认处理事件的顺序有差异。  Chrome顺序:onclick -> href -> target  IE和Firefox顺序:onclick -> target -> href

如图:

解决方案  1.添加onClick事件,直接return false阻止之后浏览器默认事件的执行。

<a target="_blank"  οnclick="return false" href="javascript:void(0);">点我啊</a>1

2.直接去掉href属性

 

<a target="_blank">点我啊</a>1

  其实就是事件冲突导致的,只要保证不在target和href同时存在时,就不存在该问题。出现了该问题最好采用去掉href的方式,因为return false会阻止浏览器默认事件的执行,如果之后有用到的话会变得更麻烦。  

最新回复(0)