Как отследить изменение input, почему change не срабатывает?

Как отследить изменение input? События click и keydown - не вариант.
<form id="a">
  <input type="text" id="b" readonly onchange="update(this.value)">
</form>

let form = document.getElementById('a');
let input = document.getElementById('b');

form.addEventListener('change', () => { console.log('refresh'); });
input.addEventListener('click', () => { input.value += '5'; });
input.addEventListener('change', () => { console.log('reload'); });

function update(c){
  console.log(c);
  console.log(input.value);  
}


https://codepen.io/workcode/pen/NWNZejw
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 2
@V0vash
НАшКОДИЛ


input.addEventListener('input', () => { input.value += '5'; });
Ответ написан
Tim-A-2020
@Tim-A-2020
Событие change для текстовых элементов произойдёт не при каждом вводе, а при потере фокуса поэтому воспользуйтесь событием input. Событие input срабатывает тут же при изменении значения текстового элемента
Ответ написан
Ваш ответ на вопрос

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

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