jQuery - 单击 TR 和 TR > span 时的不同操作
jQuery - Different actions for when clicking on TR and TR > span
我已将一些数据放入 HTML table。单击 tr
时,它会将 'checked' 属性添加到该特定行的复选框。
但是,我有几行在 span
中包含相同的父 ID - 当我单击父 ID 时,它应该向具有此 ID 的所有行添加一个 'checked' 属性。我的方法是进行两种不同的操作 - 一种用于单击 table 行
$('tr').on('click', function() { ... do stuff ... });
当您单击 span
中的 tr
时的另一个操作
$('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
});
使用.stopPropagation()停止冒泡:
$('tr > span').on('click', function(e) {
e.stopPropagation();
// do multiple checkbox actions here
});
我已将一些数据放入 HTML table。单击 tr
时,它会将 'checked' 属性添加到该特定行的复选框。
但是,我有几行在 span
中包含相同的父 ID - 当我单击父 ID 时,它应该向具有此 ID 的所有行添加一个 'checked' 属性。我的方法是进行两种不同的操作 - 一种用于单击 table 行
$('tr').on('click', function() { ... do stuff ... });
当您单击 span
tr
时的另一个操作
$('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
});
使用.stopPropagation()停止冒泡:
$('tr > span').on('click', function(e) {
e.stopPropagation();
// do multiple checkbox actions here
});