window.onload和$(document).ready(function(){})的区别

Posted 晨莳c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.onload和$(document).ready(function(){})的区别相关的知识,希望对你有一定的参考价值。

原文出自:http://www.php100.com/html/program/jquery/2013/0905/5954.html

1、执行时间上的区别:window.onload必须等到页面内(包括图片的)所有元素加载到浏览器中后才能执行。而$(document).ready(function(){})是DOM结构加载完毕后就会执行。

2、编写个数不同:window.onload不能同时写多个,如果有多个window.onload,则只有最后一个会执行,它会把前面的都覆盖掉。$(document).ready(function(){})则不同,它可以编写多个,并且每一个都会执行。

3、简写方法:window.onload没有简写的方法,$(document).ready(function(){})可以简写为$(function(){})。

另外:由于在$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完,例如与图片有关的HTML下载完毕,并且已经解析为DOM树了,但很有可能图片还未加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。

要解决这个问题,可以使用JQuery中另一个关于页面加载的方法---load()方法。load()方法会在元素的onload事件中绑定一个处理函数。如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。如:$(window).load(function(){})=====window.onload = function(){}...

以上是关于window.onload和$(document).ready(function(){})的区别的主要内容,如果未能解决你的问题,请参考以下文章

$(document).ready()和window.onload的区别

$(document).ready和window.onload,细微小区别,ready是jQuery的方法,onload是window的方法

$(document).ready和window. onload的区别

$(document).ready(...) 和 window.onload 的区别

window.onload 和document ready的区别

前端window.onload 和 $(document).ready() 的区别