本文小編為大家詳細介紹“JavaScript中onload和ready的區別是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“JavaScript中onload和ready的區別是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
window.onload( ) 必須等到頁面內包括圖片的所有元素加載終了后才能履行。
$(document).ready( )是 DOM 結構繪制終了后就履行,沒必要等到加載終了。也就是說 $(document).ready( ) 要比window.onload( ) 先履行。
window.onload( )不能同時編寫多個,如果有多個 window.onload( ) 方法,只會履行一個
$(document).ready( )可以同時編寫多個,并且都可以得到履行
window.onload( )沒有簡化寫法
$(document).ready(function( ){ })可以簡寫成 $(function( ){ });
在常規的 JavaScript 代碼中,通常使用 window.onload( )方法,而在 jQuery 中,使用的是 $(document).ready( ) 方法。
$(document).ready( )方法和 window.onload( ) 方法有相似的功能,但是在履行時機方面是有區分的。window.onload( ) 方法是在網頁中所有的元素(包括元素的關聯文件)完全加載到閱讀器后才履行,即 JavaScript 此時才可以訪問網頁中的任何元素。而通過 jQuery 中的 $(document).ready() 方法注冊的事件處理程序,可以在 DOM 完全就緒時就能夠被調用。此時,網頁的所有元素對jQuery而言都是可以訪問的,但是,這其實不意味著這些元素關聯的文件都已下載終了。
例:load( ) 方法會在元素的 onload 事件中綁定一個處理函數。如果處理函數綁定給 window 對象,則會在所有內容(包括窗口、框架、對象和圖象等)加載終了后觸發,如果處理函數綁定在元素上,則會在元素的內容加載終了后觸發。
最多見的例子是一些圖片的網站,有時候你會看到有的網站是所有的圖片都有一個占位符,在頁面加載好之前圖片就已占有一定的空間了,然后每張各自的加載,這類情勢是使用了 $(document).ready( )方法。有的網頁是要等全部圖片都加載好以后 才顯示網頁,當網速不好的時候一個頁面需要等很久才能顯示出來,這就是使用了 window.onload( )方法。很明顯,把網頁解析為 DOM 樹的速度比把網頁中的所有關聯文件加載終了的速度快很多。
另外需要注意一點,由于在 $(document).ready() 方法內注冊的事件,只要 DOM 就緒就會被履行,因此可能此時元素的關聯文件未下載完。例如與圖片有關的 HTML下載終了,并且已解析為 DOM 樹了,但很有可能圖片還未加載終了,所以例如圖片的高度和寬度這樣的屬性此時不一定有效。要解決這個問題,可使用 JQuery 中另外一個關于頁面加載的方法—— load() 方法。load() 方法會在元素的 onload 事件中綁定一個處理函數。如果處理函數綁定給 window 對象,則會在所有內容(包括窗口、框架、對象和圖象等)加載終了后觸發,如果處理函數綁定在元素上,則會在元素的內容加載終了后觸發。
讀到這里,這篇“JavaScript中onload和ready的區別是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。