byte916
@byte916

Почему в Firefox на Android событие input срабатывает дважды?

Пытаюсь отфильтровать недоступные символы и перевести буквы в заглавный регистр.

Если сделать это вот так, то событие input вызовется дважды
var input = document.getElementById("a");
input.addEventListener("input", () => {
  input.value = input.value.toUpperCase().replace(/[^A-Z]/gi, '');
});

Но при этом, если убрать любое из двух преобразований, то проблемы не будет

var input = document.getElementById("a");
input.addEventListener("input", () => {
  input.value = input.value.toUpperCase();
   // или
  input.value = input.value.replace(/[^A-Z]/gi, '')
});


Проблему наблюдаю только в firefox на телефоне, в хроме а так же на планшете/компьютере проблема отсутствует (возможно, не все браузеры попробовал).
Потестить можно тут (версия с проблемой) и тут (версия без проблемы)

Как можно это обойти?

Добавлено: странно, но на другом телефоне не могу воспроизвести проблему:( А на моём воспроизводится стабильно. Версия Firefox последняя на обоих устройствах
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы