Подтвердить что ты не робот

AngularJS ngИзменить триггер

для ng-Change, есть ли способ вызвать его только тогда, когда на blur? Подобно jQuery on('change')?

Я ищу чистый способ angular сделать это.

4b9b3361

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