window.onload和$(document).ready(function(){})的区别
前段時間在面試之前查找并整理了一下window.onload和$(document).ready(function(){})區(qū)別,今天有時間更到我的博客上,由于本人資歷尚淺,如有不對的地方,還請指正。
原文出自:http://www.php100.com/html/program/jquery/2013/0905/5954.html
?
1、執(zhí)行時間上的區(qū)別:window.onload必須等到頁面內(nèi)(包括圖片的)所有元素加載到瀏覽器中后才能執(zhí)行。而$(document).ready(function(){})是DOM結(jié)構(gòu)加載完畢后就會執(zhí)行。
2、編寫個數(shù)不同:window.onload不能同時寫多個,如果有多個window.onload,則只有最后一個會執(zhí)行,它會把前面的都覆蓋掉。$(document).ready(function(){})則不同,它可以編寫多個,并且每一個都會執(zhí)行。
3、簡寫方法:window.onload沒有簡寫的方法,$(document).ready(function(){})可以簡寫為$(function(){})。
另外:由于在$(document).ready()方法內(nèi)注冊的事件,只要DOM就緒就會被執(zhí)行,因此可能此時元素的關(guān)聯(lián)文件未下載完,例如與圖片有關(guān)的HTML下載完畢,并且已經(jīng)解析為DOM樹了,但很有可能圖片還未加載完畢,所以例如圖片的高度和寬度這樣的屬性此時不一定有效。
要解決這個問題,可以使用JQuery中另一個關(guān)于頁面加載的方法---load()方法。load()方法會在元素的onload事件中綁定一個處理函數(shù)。如果處理函數(shù)綁定在元素上,則會在元素的內(nèi)容加載完畢后觸發(fā)。如:$(window).load(function(){})=====window.onload = function(){}...
總結(jié)
以上是生活随笔為你收集整理的window.onload和$(document).ready(function(){})的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS性能优化之文档碎片-document
- 下一篇: jQuery on()方法绑定动态元素的