Как отследить изменение 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
  • Вопрос задан
  • 12730 просмотров
Пригласить эксперта
Ответы на вопрос 2
@V0vash


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

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

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