使用jQuery更改.prop不会触发.change事件

时间:2014-06-25 13:50:59

标签: jquery

我在复选框上有一个事件监听器:

<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未被触发...

我忽略了什么?

1 个答案:

答案 0 :(得分:161)

当页面上的用户交互更改值时触发更改事件,而不是使用代码修改值时触发更改事件。

此处您需要在更改属性后使用.change().trigger("change")

$('input[type="checkbox"][name="something"]').prop("checked", false).change();

<强> Working Demo