我有一个复选框,需要更改状态,但不调用父级的点击事件。所以,我创造了这个:
$("#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);
});
父母的点击没有发挥作用,所以这很好,但复选框没有改变状态。为什么呢?
答案 0 :(得分:1)
您应该使用e.stopPropagation()
来停止父级的点击事件。没有别的需要。
$("#divTabBody@(Model.TabNumber) tr input[type='checkbox']").on('click', function(e) {
e.stopPropagation();
});