Пытаюсь отфильтровать недоступные символы и перевести буквы в заглавный регистр.
Если сделать это вот так, то событие 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 последняя на обоих устройствах