手动dispatchEvent DOMContentLoaded

Rob*_*sen 19 javascript dom javascript-events

有没有办法手动触发DOMContentLoaded事件?我正在尝试为一些客户端javascript编写单元测试,它在DOMContentLoaded事件上做了一些事情.

以下不起作用:document.dispatchEvent("DOMContentLoaded")或document.body.dispatchEvent("DOMContentLoaded");

Inv*_*ion 26

这在Firefox中适用于我:

var DOMContentLoaded_event = document.createEvent("Event")
DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true)
window.document.dispatchEvent(DOMContentLoaded_event)
Run Code Online (Sandbox Code Playgroud)


Han*_*hiu 7

由于这里initEvent不推荐使用,最好使用这样的构造函数:Event

window.document.dispatchEvent(new Event("DOMContentLoaded", {
  bubbles: true,
  cancelable: true
}));
Run Code Online (Sandbox Code Playgroud)