2

当基于其他交互更改/修改状态时,是否存在复选框更改事件。我的意思不是点击文本框。

我试过这段代码:

$('input[type="checkbox"]').bind('change',function(){
    alert('Checkbox state is changed.');
});

...但正如您在此演示中看到的那样,如果我单击复选框,我会看到一个显示“复选框状态已更改”的警报。由 change 事件触发的消息。但是当使用按钮更改复选框状态时,不会触发相同的操作。

我错过了什么吗?

感谢任何帮助。

4

2 回答 2

1

问题是您正在修改 "checked" 中的属性,DOM但没有调用相同的事件处理程序。

在您的按钮事件单击中,您可以使用trigger并执行以下操作:

$('input[type="checkbox"]').trigger('change');   

http://jsfiddle.net/wmVtB/7/

于 2013-02-06T08:23:54.967 回答
1

不,通过 JavaScript 设置checked属性不会触发任何事件。如果您需要触发一个,您必须自己编写脚本或触发一个click事件,然后触发状态更改。

于 2013-02-06T08:15:35.207 回答