jQuery - 点击TR和TR时的不同动作>跨度

时间:2015-07-30 08:48:41

标签: jquery jquery-selectors

我已将一些数据放入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
});

1 个答案:

答案 0 :(得分:0)

使用.stopPropagation()来阻止冒泡:

$('tr > span').on('click', function(e) {
  e.stopPropagation();
  // do multiple checkbox actions here
});