Mike_Ro
@Mike_Ro
Войти в АйТи...

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

Приветствую!

Некий скрипт, по условию, изменяет input.value. Вешаю слушателя на этот input, но при новом изменение скриптом, слушатель не реагирует. При этом, этот же слушатель реагирует, если изменять input.value руками (вписать значение или нажать на стрелки в input).

Как отлавливать подобные изменения в input?

input.addEventListener("change", () => console.log(1));
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
nokimaro
@nokimaro
https://www.w3.org/TR/html4/interact/scripts.html
onchange = script [CT]
The onchange event occurs when a control loses the input focus and its value has been modified since gaining focus. This attribute applies to the following elements: INPUT, SELECT, and TEXTAREA.


то есть тригерить onchange() надо самому
element.onchange();
или
if ("createEvent" in document) {
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("change", false, true);
    element.dispatchEvent(evt);
}
else
    element.fireEvent("onchange");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
09 апр. 2020, в 01:27
1000 руб./за проект
08 апр. 2020, в 22:52
5000 руб./за проект
08 апр. 2020, в 21:19
10000 руб./за проект