有没有办法手动触发DOMContentLoaded事件?我正在尝试为一些客户端javascript编写单元测试,它在DOMContentLoaded事件上做了一些事情。
以下内容不起作用:document.dispatchEvent(“DOMContentLoaded”)或document.body.dispatchEvent(“DOMContentLoaded”);
答案 0 :(得分:25)
这适用于我的Firefox:
var DOMContentLoaded_event = document.createEvent("Event")
DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true)
window.document.dispatchEvent(DOMContentLoaded_event)
答案 1 :(得分:6)
由于initEvent
已弃用reference,因此最好使用Event
这样的构造函数:
window.document.dispatchEvent(new Event("DOMContentLoaded", {
bubbles: true,
cancelable: true
}));