防止默认操作后jQuery设置复选框状态

时间:2017-10-30 18:06:44

标签: jquery checkbox

我有一个复选框,需要更改状态,但不调用父级的点击事件。所以,我创造了这个:

$("#divTabBody@(Model.TabNumber) tr input[type='checkbox']").on('click', function(e) { 
    e.preventDefault();
    e.stopPropagation();
    if($(this).is(':checked'))
        $(this).prop('checked', false);
    else
        $(this).prop('checked', true);
});

父母的点击没有发挥作用,所以这很好,但复选框没有改变状态。为什么呢?

1 个答案:

答案 0 :(得分:1)

您应该使用e.stopPropagation()来停止父级的点击事件。没有别的需要。

$("#divTabBody@(Model.TabNumber) tr input[type='checkbox']").on('click', function(e) { 
    e.stopPropagation();
});