我有一个简单的HTML表格,看起来像这样
<table id='resultGrid'>
<tr>
<td>
<a href='javascript:callAction(xxx)'>Johnny</a>
</td>
<td>
Active
</td>
</tr>
<tr>
<td>
<a href='javascript:callAction(yyy)'>Nitro</a>
</td>
<td>
In Active
</td>
</tr>
</table>
我想处理行clik和hypherlink点击。由于hepher链接已经附加到callAction()函数,我使用jquery将click事件添加到行
$("#resultGrid tr").each(function(){
$(this).css('cursor','hand');
$(this).click(function() {
//My logic
});
});
现在问题是每次点击超链接时,行点击事件也会触发。我该如何防止这种情况。
答案 0 :(得分:3)
您可以使用e.target.nodeName
$("#resultGrid tr").each(function() {
$(this).css('cursor', 'hand');
$(this).click(function(e) {
alert(e.target.nodeName.toLowerCase() != 'a');
});
});
答案 1 :(得分:1)
您可以使用
阻止事件冒泡e.stopPropagation()
您还可以使用CSS为tr
元素指定样式。
$("#resultGrid a").click(function(e){
// do your code
e.stopPropagation(); // prevent event bubbling
});