2015-01-30 4 views
-4

Я пытаюсь вызвать метод, когда поле input теряет фокус. Я использую для этого ngBlur. Он работает нормально, если мы используем кнопку табуляции, чтобы удалить фокус из поля ввода. Но если я попытаюсь удалить фокус, щелкнув в другом месте в форме, то ngBlur не работает, как я ожидаю. Не могли бы вы сообщить мне, почему это происходит? Есть ли другой способ в angularJS вызвать метод после потери фокуса, щелкнув в другом месте с помощью мыши?ngBlur работает правильно только для табуляции

Я использую его следующим образом:

<input type="text" ng-model="searchParams.clientSearchValue" 
     ng-blur="getClientValidationErrors()" 
     ng-enter="validateAndSubmit()" 
     ng-disabled="!searchParams.clientSearchCode || searchParams.clientSearchCode == ''"> 
+2

Всегда включать код, который вызывает вас проблемы, без него мы можем только догадываться, что происходит –

ответ

1

ngBlur оценить выражение на смазывание так и можно установить переменную в объеме до истинны и наблюдать переменную и огонь, чем ваша функция, если переменная истинна.

ng-blur="blur=true;focus=false;" 

http://jsfiddle.net/deathhell/UTn5y/2/

Смежные вопросы