ng-change 事件应该只在输入完成后被调用

ng-change event should be called only after typing is completed

我有一个带有 ng-change 的文本字段 event.Event 应该仅在用户完成时调用 typing.How 以延迟调用事件?

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

你应该使用ng-blur

A blur event fires when an element has lost focus.

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

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

相同的 ng-change

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

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

当我想在输入完成时调用函数时,我使用 ng-keyup

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

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

如果我必须调用验证函数,ng-blur 将无济于事,因为您必须集中精力启动该函数。使用 ng-keydown,功能将启动。因此,如果用户完成输入,它也会启动