Отправка вручную события DOMContentLoaded - PullRequest
17 голосов
/ 06 февраля 2012

Есть ли способ вручную запустить событие DOMContentLoaded? Я пытаюсь написать модульный тест для некоторого клиентского javascript, который делает что-то для события DOMContentLoaded.

Не работает следующее: document.dispatchEvent ("DOMContentLoaded") или document.body.dispatchEvent ("DOMContentLoaded");

Ответы [ 2 ]

25 голосов
/ 23 февраля 2012

Это работает для меня в Firefox:

var DOMContentLoaded_event = document.createEvent("Event")
DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true)
window.document.dispatchEvent(DOMContentLoaded_event)
6 голосов
/ 09 апреля 2018

Поскольку initEvent устарело здесь , лучше использовать Event конструктор, например:

window.document.dispatchEvent(new Event("DOMContentLoaded", {
  bubbles: true,
  cancelable: true
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...