<li> <input type="checkBox" id="master" /> <ul> <li> <input type="checkBox" /> $('input').bind('change',function() {}); // exists elsewhere,cannot change
当我单击顶级输入时,我想为其所有子项设置.prop(‘checked’,true),但我想避免为每个子复选框触发change事件.
如何在不触发更改的情况下将.prop(‘checked’,true)设置为输入?
编辑:(扩展)
$('#master').click(function() { $(this).parent().find('input').each(function(n,in) { $(in).prop('checked',true); // this triggers a change event that I need to stop }); });
解决方法
您所描述的是默认功能.从javascript更改元素不会触发更改事件.
请注意,如果单击示例中的复选框,您会收到警报,但如果单击该按钮,则不会发出警报.