模型改变的事件不会激发

时间:2015-04-04 21:02:32

标签: javascript angularjs events angular-ngmodel bootstrap-switch

我尝试在AngularJS模型绑定复选框上使用bootstrap-switch,但注意到它没有工作。

进一步调查显示,当模型更改修改复选框时,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更改复选框状态时,为什么没有事件触发?
  • 我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

仅当用户与元素交互时才会触发change事件:

  

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

如果您想在模型更改时执行代码,无论如何,您都可以设置监视:

$scope.$watch('boolValue', function(newVal) {
    //...
});