#javascript #html #css #angularjs
#javascript #HTML #css #angularjs
Вопрос:
Привет, у меня есть веб-приложение, написанное на angular. Я вижу странную ошибку в Chrome, которую я не могу воспроизвести в IE (обычно это наоборот)
У меня есть текстовое поле ввода типа number — когда я набираю более 2 символов, курсор теряет фокус, и мне приходится нажимать на него, чтобы продолжить ввод. То же самое происходит при попытке удаления из текстового поля.
Так что, если я хочу ввести 1000, например.
Я набираю 10, затем текстовое поле теряет фокус. Затем я должен щелкнуть текстовое поле, ввести 2-й ноль — фокус снова теряется, а затем снова щелкнуть по нему и ввести последний ноль. Если я хочу удалить это обратно до 10. Я удаляю последний нулевой фокус, который теряется, и приходится снова щелкнуть в текстовом поле, чтобы удалить 2-й ноль.
Я не могу понять, что является причиной этого.
отображаемая разметка для текста выглядит следующим образом:
<td class="right-align muted ng-scope">
<input name="txtTotal" type="number" min="0" max="99999" ng-model="item.Total" ng-bind="item.Total | number: 2" ng-change="updateTotal(item)" onkeydown="return isNumberKeyAndDecimal(event, 2, 5)" style="width:150px" class="ng-pristine ng-valid ng-binding ng-valid-min ng-valid-max ng-touched">
</td>
Я подумал, что это может быть код в onkeydown — я могу вставить эту функцию, если требуется, однако я удалил onkeydown из кода, выполнил жесткое обновление страницы, и ошибка все еще происходит (и приведенный выше код работает в IE)
Кто-нибудь видел это поведение раньше или получил какие-либо указания на то, в чем может быть причина или исправление?
Комментарии:
1. Работает ли это с обычными числовыми вводами, которые не
ng-model
привязаны к ним?2. Сохраняется ли ошибка при удалении
ng-bind
директивы?3. Проверит и подтвердит
4. @RobertAKARobin — это работает, как и ожидалось, для обычного ввода — это, кстати, в режиме начальной загрузки, если это будет иметь какое-либо значение — на самом деле я не могу удалить угловые директивы вокруг ввода
5. @Lex — нет, это работает без этой директивы, но я не могу ее удалить?