Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

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

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

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

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

input.addEventListener("change", () => console.log(1));
  • Вопрос задан
  • 367 просмотров
Решения вопроса 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");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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