domcontentloaded 和 load 触发时机不同:前者在 dom 树就绪时触发,不等资源加载;后者需所有资源(含图片、css、iframe)加载完成。正确写法是 addeventlistener("domcontentloaded", handler) 或将脚本置于 前;load 仅适用于 img、iframe 和 window 等特定场景。

DOMContentLoaded 和 load 不是“谁更好”,而是触发时机根本不同:前者等 DOM 树就绪(不等图片、样式表、iframe 加载),后者等整个页面资源全部加载完成。选错会直接导致脚本执行过早或过晚——比如用 load 绑定按钮点击事件,用户点不动;用 DOMContentLoaded 操作还没加载完的 <img> 尺寸,拿到的是 0。
DOMContentLoaded 触发时机与正确写法
它在 HTML 解析完成、DOM 树构建完毕后立即触发,此时 <script></script>、<link rel="stylesheet">、<img> 都可能还在下载中。浏览器保证此时 document.body、document.getElementById() 等可安全访问。
正确写法只有两种可靠方式:
- 使用
addEventListener("DOMContentLoaded", handler)—— 推荐,支持多次绑定 - 把脚本放在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











