$(document).ready()与window.onload的区别
- 执行时间不同
window.onload:必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready():网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的内容并没有加载完
所以$(document).ready() 先执行,window.onload后执行
window.onload = function(){
console.log(456)
}
$(document).ready(function(){
console.log(123)
})
//先输出123在输出456
- 编写个数不同
window.onload:不能同时编写多个,如果有多个window.onload方法,只会执行一个。
$(document).ready():可以同时编写多个,并且都可以得到执行。
window.onload = function(){
console.log(123)
}
window.onload = function(){
console.log(456)
}
//只会执行最后一个绑定的函数
$(document).ready(function(){
console.log(123)
})
$(document).ready(function(){
console.log(456)
})
//两个函数都会被执行
- 简化写法
window.onload : 没有简化写法,
$(document).ready() : 可以简写成 $(function(){})
window.onload 等价于jquery中的$(window).load(function(){}), $(window).load()可以绑定多个函数
$(window).load(function(){
console.log(123)
})
$(window).load(function(){
console.log(456)
})
//两个函数都会得到执行