AngularJS ngChange触发onb​​lur

时间:2013-10-18 18:13:43

标签: angularjs angularjs-directive

ng-Change

,是否有办法仅在blur时触发? 与jquery on('change')类似?

我正在寻求一种纯粹的angular方法。

3 个答案:

答案 0 :(得分:74)

使用ng-model-options

    
$scope.onchange = function () {}
<input type="text" ng-model="x" ng-change="onchange()" ng-model-options="{updateOn: 'blur'}"/>

答案 1 :(得分:25)

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>

脚本:

function MyCtrl($scope) {
    $scope.blurCount = 0;
    $scope.name = 'Superhero';
}

答案 2 :(得分:1)

如果使用ng-blur,然后(如Jason所说)使用处理程序检查输入类=“ng-dirty”,它将告诉您输入值是否已更改。