DOM生命周期事件
时间先后关系:
DOMContentLoaded
——通过document.addEventListener('DOMContentLoaded', handler)
监听。当浏览器已完全加载 HTML,并构建了 DOM 树时触发,但像<img />
和 css 样式表这些外部资源可能还未加载完成。 注意:当文档中遇到<script />
标签时,DOMContentLoaded
事件会等待脚本完全执行结束后再触发。除非带有是 async/defer 属性的脚本或者通过document.createElement('script')
创建的脚本(这些脚本会异步加载并执行,不会阻塞DOMContentLoaded
事件)。load
——通过window.onload
监听。当浏览器不仅完全加载 HTML,图片样式表这些外部资源也加载完成后触发。beforeunload
——通过window.onbeforeunload
监听。表示用户正在离开,我们可以检查用户是否保存了更改,并询问他是否真的要离开。unload
——通过window.onunload
监听。表示用户已经离开,我们可以做一些善后工作。