今天临时有个紧急需求,需要改一个pc页面,是php页面,开发改完发现,样式有问题,但为了尽量少的改动文件,我不想换标签,只想改样式将外链的样式覆盖掉,其中有一个是<a>
标签跳转,但是我们这个并不需要跳转,开发写了javascript:void(0);
我在我的电脑上看是不可以跳转的,但是开发的却不行,发现他使用的是火狐浏览器,还是会跳转个新页面,所以我就查了下,发现可以使用如下方式解决这个问题:
开始:
<a href=”javascript:void(0);”>文案</a>
后经查找资料,发现可以这样解决,通过onclick阻止浏览器默认事件:
改后:
<a onclick="return false;" href="javascript:void(0);">test</a>
原因在于三款浏览器,对三个属性的处理顺序不同:
- 在Chrome中点击后行为符合预期,但在IE下会新开标签卡(根据参考资料,Firefox中有- 相同问题)。
- Chrome顺序:onclick -> href -> target
- IE和Firefox顺序:onclick -> target -> href