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

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

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

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

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

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

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

2.直接去掉href属性

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

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

猜你喜欢

转载自blog.csdn.net/mafan121/article/details/77449797
今日推荐