我有一张桌子。
每一行都是一个由 js 调用的某个页面(例如 - google.com)的链接”onClick window.open“ 方法:
<tr class='tr' onClick="win=window.open('http://google.com');win.focus();" >
在最后一栏中我有一个锚点链接链接到其他页面(例如 -jsfiddle
):
<td class='td'><a href = "http://jsfiddle.net">JSFiddle</a></td>
如果我单击锚链接,它会打开,但也会打开 onClick 调用的第一个页面。
我发现了一个反向问题:
如果执行onclick,如何禁用HREF? https://stackoverflow.com/questions/15622100/how-to-disable-href-if-onclick-is-executed
我们可以通过在 onClick 事件中添加“return false”来禁用 href。
如果单击锚链接,是否可以阻止 onClick 执行?
这是我的演示:Fiddle http://jsfiddle.net/RyjDZ/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);
Demo: http://jsfiddle.net/CqRE9/ http://jsfiddle.net/CqRE9/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)