У меня есть следующий вход и он обновляет модель на событии размытия.Следите за текущим значением ввода с обновлением при размытии
<input
es-max-type
class="headline"
ng-change="edit(selectedRow, '{{selectedRow.name}}');"
ng-model="selectedRow.name"
ng-model-options="{ updateOn: 'blur' }"/>
Директива es-max-type наблюдает за длиной строки.
scope.$watch(function() {
return scope.ngModel
}, function(text) {
if(text) {
scope.currentLen = text.length;
}
});
Всякий раз, когда ввод сфокусирован, я показываю в углу «15/100» количество символов. Но так как модель обновляется только по событию размытия, я не могу отслеживать изменения во время редактирования. Есть ли способ получить длину строки без удаления обновления при размытии?
Попробуйте ng-keydown (https://github.com/j-ulrich/jquery-simulate-ext) и не используйте наблюдателя. Это не хорошо для производительности. –
Итак, как я могу получить длину строки, используя ng-keydown? Я не могу считать символы, так как пользователь может удалить символ ... Должен ли я также отслеживать клавиши «удалить»? –
Посмотрите на документы: https://docs.angularjs.org/api/ng/directive/ngKeypress есть пример. –