Как я могу инициировать onchange событие вручную? [дубликат]

371
задан Xaqron 28 March 2016 в 05:32
поделиться

1 ответ

Есть несколько способов сделать это. Если прослушиватель onchange является функцией, установленной с помощью свойства element.onchange , и вас не беспокоит объект события или восходящая цепочка / распространение, самый простой способ - просто вызвать эту функцию :

element.onchange();

Если вам нужно полностью смоделировать реальное событие, или если вы установите событие с помощью атрибута html или addEventListener / attachEvent , вам нужно сделать немного функция обнаружения, чтобы правильно инициировать событие:

if ("createEvent" in document) {
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("change", false, true);
    element.dispatchEvent(evt);
}
else
    element.fireEvent("onchange");
440
ответ дан 23 November 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: