document.ready和window.onload的区别

7次阅读

共计 1032 个字符,预计需要花费 3 分钟才能阅读完成。

document.ready 和 onload 的区别——JavaScript 文档加载完成事件页面加载完成有两种事件:
一是 ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件);
二是 onload,指示页面包含图片等文件在内的所有元素都加载完成。
1、Dom Ready
使用 jq 时一般都是这么开始写脚本的:
$(function(){
// do something
}); 例如:
$(function() {
$(“a”).click(function() {
alert(“Hello world!”);
});
}) 这个例子就是给所有的 a 标签绑定了一个 click 事件。即当所有链接被鼠标单击的时候,都执行 alert(“Hello World!”); 也就是说页面加载时绑定,真正该触发时触发。其实这个就是 jq ready() 的简写,它等价于:
复制代码 $(document).ready(function(){
//do something
})// 或者下面这个方法,jQuer 的默认参数是:“document”;$().ready(function(){
//do something
}) 复制代码这个就是 jq ready() 的方法就是 Dom Ready,他的作用或者意义就是: 在 DOM 加载完成后就可以可以对 DOM 进行操作。一般情况一个页面响应加载的顺序是,域名解析 - 加载 html- 加载 js 和 css- 加载图片等其他信息。那么 Dom Ready 应该在“加载 js 和 css”和“加载图片等其他信息”之间,就可以操作 Dom 了。
2、Dom Load
用原生的 js 的时候我们通常用 onload 时间来做一些事情,比如:
复制代码 window.onload=function(){
//do something
}// 或者经常用到的图片 document.getElementById(“imgID”).onload=function(){
//do something
} 复制代码这种就是 Dom Load,他的作用或者意义就是:在 document 文档加载完成后就可以对 DOM 进行操作,document 文档包括了加载图片等其他信息。那么 Dom Load 就是在页面响应加载的顺序中的“加载图片等其他信息”之后,就可以操作 Dom 了。
最后附上一段在所有 DOM 元素加载之前执行的 jQuery 代码。
<script type=”text/javascript”>(function() {
alert(“DOM 还没加载哦!”);
})(jQuery)
</script>

正文完
 0