VueJS не запускает событие ввода при первом вводе в IE11 - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть вход с @input="onInput".

В методе onInput я выводил некоторую консольную информацию (в основном просто even.currentTarget.value). Я заметил, что в IE11, когда я фокусирую ввод, а затем нажимаю любую кнопку (или использую ctrl+v), когда нетвывод на консоль.

Затем со второй попытки вызывается обработчик и event.currentTarget.value содержит всю строку.

Это происходит только в IE11

Есть ли обходной путь?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Оказалось, что я установил placeholder в пустую строку.Так что на самом деле у меня был компонент, который является оберткой для <input>.В этом компоненте у меня было свойство placeholder, которое по умолчанию было установлено на пустую строку и применено к тегу <input>.

Я установил для свойства placeholder значение null по умолчанию, и это помогло

0 голосов
/ 04 февраля 2019

IE не имеет большой поддержки для события input в некоторых типах полей:

<select> не запускает входные события.Не вызывает событие ввода, когда (не) проверяет флажок или переключатель.https://caniuse.com/#search=oninput

и

[IE] полностью игнорировал событие ввода [на входах диапазона.] Их изменение происходило так же, как событие ввода в других браузерах https://blog.vendivel.com/javascript/2016/01/31/ie-oninput-bug.html

Событие keyup можно использовать в качестве замены, если вам требуется обработка для каждого ключа (хотя это не поддерживает операции вставки), или вы можете использовать событие change, еслиВы можете подождать, пока пользователь не закончит ввод данных.

...