ng-change事件仅在键入完成后才应调用

时间:2018-08-27 17:15:16

标签: angularjs angularjs-ng-change

我有一个带有ng-change事件的文本字段。仅当用户完成键入后才应调用事件。如何延迟调用事件?

service firebase.storage {
 match /b/{bucket}/o {
  match /{userId} {
    match /{allPaths=**}{
     allow read, write: if request.auth.uid == userId;
   } 
  }
}

2 个答案:

答案 0 :(得分:1)

您应该改用 ng-blur

  

当元素失去焦点时会触发模糊事件。

<input type="text" ng-model="custname" ng-blur="findCustName()">

如果您不想使用ng-blur或失去焦点,可以将同一ng-change与 ng-model-options

一起使用

从Angular 1.3开始,您可以使用Angular ng-model-options指令

<input ng-change="findCustName()" ng-model-options="{debounce:1000}">

答案 1 :(得分:0)

输入完毕后要调用函数时,我使用ng-keyup

使用ng-keyup会在用户每次按下键时调用您的函数。

我知道您问的是用户何时输入,但是让我解释一下为什么我更喜欢使用ng-keyup而不是ng-blur

如果我必须调用验证函数,ng-blur将无济于事,因为您将不得不专注于启动该函数。使用ng-keydown,将启动功能。因此,如果用户输入完毕,它也会被启动