我在复选框上有一个事件监听器:
<input type="checkbox" name="something">
我的事件监听器:
$('input[type="checkbox"][name="something"]').change(function() {
//DO SOMETHING
});
我有另一个事件监听器,它会更改复选框的.prop
:
$('#button').click(function() {
$('input[type="checkbox"][name="something"]').prop("checked", false);
});
当我选中复选框DO SOMETHING
触发器时。当我点击#button
时,.prop
发生了更改,我看到取消选中该复选框,但DO SOMETHING
未被触发...
我忽略了什么?
答案 0 :(得分:161)
当页面上的用户交互更改值时触发更改事件,而不是使用代码修改值时触发更改事件。
此处您需要在更改属性后使用.change()
或.trigger("change")
:
$('input[type="checkbox"][name="something"]').prop("checked", false).change();
<强> Working Demo 强>