1

我尝试在 AngularJS 模型绑定复选框上使用引导开关,但注意到它不起作用。

进一步调查表明,当模型更改修改复选框时,Javascript onChange/onClick 事件根本不会触发。如FiddleJS所示

<input id="cb1" type="checkbox" ng-model="boolValue" /> Changing this wont trigger event on the other Checkbox<br/>

<input id="cb2" type="checkbox" ng-model="boolValue" /> Changing this does trigger the event!

<script>
   $('#cb2').on('change', function(){
       alert('changed');
   });
</script>
  • 当 angular $digest 更改复选框状态时,为什么不触发事件?
  • 我在这里做错了吗?
4

1 回答 1

1

change 事件仅在用户与元素交互时触发:

注意:使用 JavaScript 更改输入元素的值,例如使用 .val() 不会触发事件。

如果你想在模型发生任何变化时执行代码,你可以设置一个手表:

$scope.$watch('boolValue', function(newVal) {
    //...
});
于 2015-04-04T21:15:43.193 回答