如果单击复选框,则避免行崩溃

时间:2014-07-11 10:47:24

标签: jquery checkbox

我有一个包含行的表,如果单击该行则会折叠/展开,每行都有一个复选框。如果点击恰好位于复选框上,我需要避免折叠或扩展。 这是jquery代码:

$('tr').not('.main').hide();
    $('.main').click(function() {
        $(this).nextUntil('tr.main').slideToggle(10);
    });

2 个答案:

答案 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);

});

Here's a fiddle