AngularJS ngИзменить триггер для ng-Change, есть ли способ вызвать его только тогда, когда на blur? Подобно jQuery on('change')? Я ищу чистый способ angular сделать это. Ответ 1 Начиная с release 1.2.0rc1 существует директива ng-blur jsfiddle: http://jsfiddle.net/9mvt8/6/ HTML: <div ng-controller="MyCtrl"> <input type='text' ng-blur='blurCount = blurCount + 1'/> <input type='text' ng-blur='blurCount = blurCount + 1' /> blur count: {{blurCount}} </div> Script: function MyCtrl($scope) { $scope.blurCount = 0; $scope.name = 'Superhero'; } Ответ 2 Используйте ng-model-options $scope.onchange = function () {} <input type="text" ng-model="x" ng-change="onchange()" ng-model-options="{updateOn: 'blur'}"/> Ответ 3 Если вы используете ng-blur, а затем (как сказал Джейсон), используйте обработчик для проверки ввода class= "ng-dirty", который скажет вам, изменилось ли входное значение.
Ответ 1 Начиная с release 1.2.0rc1 существует директива ng-blur jsfiddle: http://jsfiddle.net/9mvt8/6/ HTML: <div ng-controller="MyCtrl"> <input type='text' ng-blur='blurCount = blurCount + 1'/> <input type='text' ng-blur='blurCount = blurCount + 1' /> blur count: {{blurCount}} </div> Script: function MyCtrl($scope) { $scope.blurCount = 0; $scope.name = 'Superhero'; }
Ответ 2 Используйте ng-model-options $scope.onchange = function () {} <input type="text" ng-model="x" ng-change="onchange()" ng-model-options="{updateOn: 'blur'}"/>
Ответ 3 Если вы используете ng-blur, а затем (как сказал Джейсон), используйте обработчик для проверки ввода class= "ng-dirty", который скажет вам, изменилось ли входное значение.