Событие ng-change должно вызываться только после завершения ввода - PullRequest
0 голосов
/ 27 августа 2018

У меня есть текстовое поле с событием ng-change. Событие должно вызываться только после того, как пользователь завершил ввод. Как отложить вызов события?

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

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Когда я хочу вызвать функцию после завершения ввода, я использую ng-keyup.

Использование ng-keyup Ваша функция будет вызываться каждый раз, когда пользователь нажимает клавишу.

Я знаю ваш вопрос, когда пользователь заканчивает ввод , но позвольте мне объяснить, почему я предпочитаю использовать ng-keyup, а не ng-blur

Если мне нужно вызвать функцию проверки, ng-blur не поможет, потому что вам придется сосредоточиться, чтобы запустить функцию. Используя ng-keydown, функция будет запущена. так что, если пользователь закончил печатать, он также запустится

0 голосов
/ 27 августа 2018

Вы должны использовать 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}">
...