模型更改事件不会触发
Events on model change wont fire
我尝试使用 bootstrap-打开 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 更改复选框状态时,为什么不触发事件?
- 我是不是做错了什么?
更改事件仅在用户与元素交互时触发:
Note: Changing the value of an input element using JavaScript, using .val() for example, won't fire the event.
如果你想在模型发生变化时无论如何都执行代码,你可以设置一个手表:
$scope.$watch('boolValue', function(newVal) {
//...
});
我尝试使用 bootstrap-打开 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 更改复选框状态时,为什么不触发事件?
- 我是不是做错了什么?
更改事件仅在用户与元素交互时触发:
Note: Changing the value of an input element using JavaScript, using .val() for example, won't fire the event.
如果你想在模型发生变化时无论如何都执行代码,你可以设置一个手表:
$scope.$watch('boolValue', function(newVal) {
//...
});