39

对于ng-Change,有没有办法只在打开时触发它blur?类似于 jquery on('change')

我正在寻找一种纯粹angular的方式来做到这一点。

4

3 回答 3

81

使用ng-model-options

$scope.onchange = function () {}
<input type="text" ng-model="x" ng-change="onchange()" ng-model-options="{updateOn: 'blur'}"/>
于 2014-05-16T13:04:19.553 回答
25

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';
}
于 2013-10-18T18:16:35.280 回答
0

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

于 2013-12-10T16:36:22.617 回答