IE和Firefox下,a标签使用href=”javascript:void(0);”和target=”_blank”行为不符合预期

今天在开发中发现,使用如下方式的链接。在Chrome中点击后行为符合预期,但在IE下会新开标签卡(根据参考资料,Firefox中有相同问题)。
<a href=”javascript:void(0);” target=”_blank”>test</a>

后经查找资料,发现需如下解决。
通过onclick阻止浏览器默认事件:<a onclick=”return false;” href=”javascript:void(0);” target=”_blank”>test</a>
或直接:<a target=”_blank”>test</a>

原因在于三款浏览器,对三个属性的处理顺序不同。
Chrome顺序:onclick -> href -> target
IE和Firefox顺序:onclick -> target -> href

参考资料:
html a标签的href target onclick
关于火狐和IE下href=”javascript:void(0)”兼容性的问题
javascript:void(0) and target=“_blank” behaviour

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注