天天看點

window.onload 與 $(document).ready()比較

原生onload方法和jQuery的ready方法。

ready事件發生在加載HTML文檔之後,而onload事件發生在稍後,此時所有内容(例如圖像)也已加載。

onload事件是DOM中的标準事件,而ready事件特定于jQuery。 ready事件的目的是它應該在文檔加載後盡早發生,以便為頁面中的元素添加功能的代碼不必等待加載所有内容。

例子:

ready表示圖檔還未加載,就已經發生了,而onload是圖檔加載之後才發生

window.load $(document).ready()
執行時機 必須等待網頁中所有内容加載完畢後才能執行(包括圖檔等) 隻要網頁中的DOM結構繪制完畢就執行(與DOM相關的檔案此時可能還未下載下傳完畢)
使用情況 1.不能同時執行多個,若編寫多個函數隻執行最後一個(前面的被覆寫)。window.onload = function() test1{undefined  alert("function1");};window.onload = function() test2{undefined  alert("function2");}最終輸出結果為"function2"。2.如果想實作多個函數的調用,可以建立一個新的函數來包含它們。window.onload = function(){undefined  test1();  test2();} 1.能夠同時編寫多個函數,按注冊順序執行。$(document).ready(function(){undefined  test1();});$(document).ready(function(){undefined  test2();})兩次都輸出。2.如果想實作window.onload一樣的功能,調用load()方法。$(window).load(function(){undefined  //代碼})
簡化 以下兩種形式與$(document).ready()等價,但更簡潔。1.$().ready(function(){  //代碼 });2.$(function(){ //代碼 });