📅  最后修改于: 2023-12-03 14:44:53.304000             🧑  作者: Mango
在JavaScript中,当文档中的DOM(文档对象模型)已经完成解析而且可以被操作时,将触发 DOMContentLoaded
事件。这个事件对于需要在页面DOM加载完成后执行代码的开发者非常有用。以下是对该事件的详细介绍:
DOMContentLoaded
事件的基础知识在JavaScript中,当页面中的DOM已经解析完成并可以被操作时,会发生 DOMContentLoaded
事件。这意味着如果在HTML加载完成之前尝试操作DOM,将会抛出错误。
document.addEventListener('DOMContentLoaded', function() {
// DOMContentLoaded 事件被触发时的代码
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
<div id="example">Example</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
var example = document.getElementById('example');
example.style.color = 'red';
});
</script>
</body>
</html>
在上面的例子中, DOMContentLoaded
事件被用来获取页面中的元素并进行操作。当 DOMContentLoaded
事件被触发时,页面中的内容已经加载完成,可以安全地操作DOM,例如通过getElementById
获取元素并改变其style属性。
DOMContentLoaded
vs. load
DOMContentLoaded
事件与 window
对象的 load
事件类似,但它们之间有很大的区别。load
事件表示页面中的所有内容,包括图像和CSS文件等,都已经完全加载完成。而 DOMContentLoaded
事件只表示DOM已经加载完成,这意味着用户能够操作页面并与之交互。因此,如果需要使用页面中的样式表或图像等资源,请使用 window.onload
代替 DOMContentLoaded
。
window.addEventListener('load', function() {
// 当所有资源都加载完成时,执行代码
});
DOMContentLoaded
事件可以在页面DOM加载完成后执行代码,使开发者能够安全达到DOM并进行操作。与 window.onload
事件相比, DOMContentLoaded
事件更加轻量级,因为它只在DOM完成解析时触发,而不必等待页面中所有内容(例如图像和样式表等)都加载完成。