我有一张表,第一列有一个复选框。当我单击该行的任意位置时,会在表格行上设置一个类“row_selected”并选中该复选框。代码如下:
$('#my_table > tbody > tr > td').live('click', function() {
if ($(this).parent().hasClass('row_selected')) {
$(this).parent().removeClass('row_selected')
$('td.checkbox input', this.parentNode).prop("checked", false)
} else {
$(this).parent().addClass('row_selected')
$('td.checkbox input', this.parentNode).prop("checked", true)
}
})
问题是一些表格单元格有按钮,如果单击这些按钮,我不希望该行被选中。即
<tr>
<td class="checkbox">
<input type="checkbox" checked="false"/>
</td>
<td>blah<td>
<td>
<a class="myButton">do stuff</a>
</td>
<td>blah<td>
</tr>
我希望 jquery click 事件在我单击 myButton 时除外。
有人有什么想法吗?
最佳答案
您不能停止对 myButton 类元素的传播吗?
$('a.myButton').click(function(e) {
e.stopPropagation();
});
这是一个简化的 jsFiddle example 使用您的代码来展示 td 点击触发器的工作原理,但单击链接时除外。
关于jquery - 从表行的子元素中删除 jquery click 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249981/