有一个包含一些图像和一些选择框的表格。每当用户单击该行(意味着任何td)时,我想突出显示除选择框和图像之外的行
现在我正在使用这个,
$("selector").live("click",function() {
$(this)
.parents("tr:first")
.toggleClass("diffColor")
;
});
但是,如果我单击选择框或图像,它就会应用该类。但当我单击选择框或任何其他图像时,我不需要。
看这里
提前致谢...
最佳答案
试试这个:
$(".selector").on("click", function (e) {
if (e.target === this) $(this).parent("tr:first").toggleClass("diffColor");
});
假设 .selector
是所有 td
的类名
在这里,this
表示当前范围内的元素,始终是 td
单击此处。
和e.target
表示实际点击的元素,可以是td
或checkbox
或 td
内的任何内容.
因此,如果实际单击的元素不是 td
在当前范围内,e.target === this
返回 false 并且什么也不会发生(不会触发任何点击事件),反之亦然。
关于javascript - 如何使用单击表格单元格(除了单击 jQuery 中的选择框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16036661/