document.ready和onload的区别——JavaScript文档加载完成事件
页面加载完成有两种事件
一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件)
二是onload,指示页面包含图片等文件在内的全部元素都加载完成。
用jQ的人不少人都是这么开始写脚本的:
$(function(){
// do something
});
其实这个就是jq ready()的简写,他等价于:
css
$(document).ready(function(){
//do something
})
//或者下面这个方法,jQuer的默认参数是:“document”;
html
$().ready(function(){
//do something
})
这个就是jq ready()的方法就是Dom Ready,他的做用或者意义就是:在DOM加载完成后就能够能够对DOM进行操做。
通常状况先一个页面响应加载的顺序是:域名解析-加载html-加载js和css-加载图片等其余信息。
那么Dom Ready应该在“加载js和css”和“加载图片等其余信息”之间,就能够操做Dom了。
1.window.onload方法
⑴执行时机:
在网页中全部元素(包括元素的全部关联文件)彻底加载到浏览器后才执行,即JavaScript 此时能够访问网页中的全部元素。
window.onload=function(){ $(window).load(function(){
//编写代码 等价于 //编写代码
} });
⑵屡次使用:
JavaScript的onload事件一次只能保存对一个函数的引用,他会自动用最后面的函数覆盖前面的函数。
function one(){浏览器
alert("one");函数
}htm
function two(){事件
alert("two");图片
}ip
window.onload=one;文档
window.onload=two;域名
//运行代码后只有 two
2.$(document).ready()方法
⑴执行时机:在DOM彻底就绪时就能够被调用。(这并不意味着这些元素关联的文件都已经下载完毕)
举个例子:$(document).ready()方法明知要DOM就绪就能够操做了,不须要等待全部图片下载完毕。
⑵屡次使用:
function one(){
alert("one");
}
function two(){
alert("two");
}
$(document).ready(function(){
one();
});
$(document).ready(function(){
two();
});
//运行代码后
//先是:one
//先是:two