我已将一些数据放入HTML表格中。点击tr
时,会在该特定行的复选框中添加“已检查”属性。
但是,我在span
中有几行包含相同的父ID - 当我单击父ID时,它应该为具有此id的所有行添加'checked'属性。我的方法是有两个不同的操作 - 一个用于单击表格行
$('tr').on('click', function() { ... do stuff ... });
点击tr
span
时的其他操作
$('tr > span').on('click', function() { ... do something else });
问题是,当我点击span
时,它会运行第一个事件。我尝试使用:not
选择器和.not()
函数,但我似乎无法使其工作。
这是我的代码(仅涉及相关部分):
$('tr').on('click', function() {
// do checkbox action here
});
$('tr > span').on('click', function() {
// do multiple checkbox actions here
});
答案 0 :(得分:0)
使用.stopPropagation()来阻止冒泡:
$('tr > span').on('click', function(e) {
e.stopPropagation();
// do multiple checkbox actions here
});