AngularJS当ng-readonly为真时,如何禁用ng-blur?

时间:2015-07-04 07:20:04

标签: javascript angularjs

我正在使用AngularJS,并且在将ng-blur与ng-readonly混合时遇到了问题。即使ng-readonly设置为true,ng-blur仍会触发(如果单击输入字段,则单击其他位置)。

在样本中,ng-blur仍然会触发增加计数器。

http://plnkr.co/edit/cMQeVf2yJPG58CxS0eiB?p=preview

在app.js

$scope.counting = function(){
  $scope.count++;
}

在index.html中

<input
ng-blur="counting()"
placeholder="sample"
ng-readonly="true"
>

问题 当ng-readonly条件为真时,如何禁用ng-blur?

1 个答案:

答案 0 :(得分:1)

只有当&&为假时,您才能使用ng-blur上的逻辑counting()来呼叫ng-readonly

 <input ng-init="checked=true" 
        ng-blur="!checked && counting()" 
        placeholder="sample" 
        ng-readonly="checked"> 

此外,您可以使用ng-readonly设置ng-init的值,也可以将其绑定到复选框。

这是plunkr