document.ready和onload的区别——JavaScript文档加载完成事件css
页面加载完成有两种事件html
一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件)浏览器
二是onload,指示页面包含图片等文件在内的全部元素都加载完成。ide
用jQ的人不少人都是这么开始写脚本的:函数
$(function(){// do something});
其实这个就是jq ready()的简写,他等价于:spa
$(document).ready(function(){htm
//do something事件
})图片
//或者下面这个方法,jQuer的默认参数是:“document”;ip
$().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");}function two(){ alert("two");}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