我有一张桌子。 每行都是指向某个页面的链接(例如google.com),该页面由js“ onClick window.open ”方法调用:
<tr class='tr' onClick="win=window.open('http://google.com');win.focus();" >
在上一栏中,我有一个 anchor href 链接到其他页面(例如 - jsfiddle
):
<td class='td'><a href = "http://jsfiddle.net">JSFiddle</a></td>
如果我点击锚链接它已打开,但也打开了onClick调用的第一页。
我发现了一个相反的问题:
How can I disable HREF if onclick is executed?
我们可以通过在onClick事件中添加“return false”来禁用href。
如果单击锚链接,是否可以阻止onClick执行?
以下是我的演示: Fiddle
答案 0 :(得分:2)
我建议你稍微改变方法。内联事件处理程序永远不是一个好主意。考虑一下这段代码。
HTML:
<table id="table">
<tr data-url="http://google.com">
<td>Content</td>
<td>Content</td>
<td><a href="http://jsfiddle.net">JSFiddle</a></td>
</tr>
...
</table>
JS:
var table = document.getElementById('table');
table.addEventListener('click', function(e) {
var target = e.target;
if (target.tagName == 'A') {
return false;
}
if (target.tagName == 'TD') {
var win = window.open(target.parentNode.getAttribute('data-url'));
win.focus();
}
}, false);
答案 1 :(得分:1)