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", который скажет вам, изменилось ли входное значение.