在添加target =“_ blank”时由div的onclick覆盖锚标记

时间:2014-07-27 00:21:13

标签: javascript html onclick anchor

这曾经是我的(工作)代码:

<div onclick="location.href='http://somewebsite.com/';">
    <a href="http://someotherwebsite.com/">Link</a>
</div>

如果我点击该链接,我将被带到http://someotherwebsite.com/。如果我点击div中的其他位置,我会被带到http://somewebsite.com/。完美。

然后,我决定在点击链接时在新标签页中打开http://someotherwebsite.com/,因此我将代码更改为:

<div onclick="location.href='http://somewebsite.com/';">
    <a href="http://someotherwebsite.com/" target="_blank">Link</a>
</div>

但是,如果我现在点击该链接,我会转到http://somewebsite.com/而不是http://someotherwebsite.com/!显然,将target="_blank"添加到我的锚标记会导致我的onclick方法覆盖我的锚标记href。发生了什么事?

修改:事实证明,我的代码在Chrome中运行正常,但在Safari 7.0.5中无效。我该怎么做才能添加Safari支持?

1 个答案:

答案 0 :(得分:0)

尝试

<div onclick="location.href='http://somewebsite.com/';" target="_self">
    <a href="http://someotherwebsite.com/" target="_blank">Link</a>
</div>

jsfiddle http://jsfiddle.net/guest271314/8deea/