首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动dispatchEvent DOMContentLoaded

手动dispatchEvent DOMContentLoaded
EN

Stack Overflow用户
提问于 2012-02-06 05:42:50
回答 2查看 14.6K关注 0票数 22

有没有办法手动触发DOMContentLoaded事件?

我正在尝试为一些客户端JavaScript编写一个单元测试,它在DOMContentLoaded事件上做一些事情。

以下操作不起作用:

代码语言:javascript
复制
document.dispatchEvent("DOMContentLoaded")

代码语言:javascript
复制
document.body.dispatchEvent("DOMContentLoaded")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-23 05:24:56

这对我在Firefox中是有效的:

代码语言:javascript
复制
var DOMContentLoaded_event = document.createEvent("Event")
DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true)
window.document.dispatchEvent(DOMContentLoaded_event)
票数 28
EN

Stack Overflow用户

发布于 2018-04-09 10:48:40

因为initEvent是不推荐使用的here,所以最好像这样使用Event构造函数:

代码语言:javascript
复制
window.document.dispatchEvent(new Event("DOMContentLoaded", {
  bubbles: true,
  cancelable: true
}));
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9153314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档