我有一个包含行的表,如果单击该行则会折叠/展开,每行都有一个复选框。如果点击恰好位于复选框上,我需要避免折叠或扩展。 这是jquery代码:
$('tr').not('.main').hide();
$('.main').click(function() {
$(this).nextUntil('tr.main').slideToggle(10);
});
答案 0 :(得分:2)
您应该使用event.stopPropagation()
;
$("tr").on("click", "[type=checkbox]", function(e) {
e.stopPropagation();
});
答案 1 :(得分:0)
点击处理程序内部检查event.target
。如果它是一个复选框return true
,那么代码就不会被执行:
$('.main').click(function(e) {
if ($(e.target).is(':checkbox')) {
return true;
}
$(this).nextUntil('tr.main').slideToggle(10);
});