2014-02-13 51 views
22

在window.onload上使用Jquery ready()函數有沒有什麼好處?Jquery .ready()vs window.onload

// Jquery ready 
$(document).ready(function() { 

}); 

// window.onload 
window.onload = function() { 

} 
+2

那麼對於初學者,使用jQuery的版本不會覆蓋其它代碼努力的東西附加到負載狀態。但無論如何,'document.ready'與'window.onload'不是同一個事件。 –

+1

這個問題的答案比原始鏈接的問題要好。 – nroose

回答

37

取決於你想要做什麼。

  • 當HTML準備就緒時,但在圖像和其他資源完成之前,jQuery就會運行您的代碼。這是您可以使用JavaScript更改DOM的最早時間,因此它被廣泛使用。 (在現代瀏覽器中,它被本地事件DOMContentLoaded取代)。
  • window.onloadload事件)運行後一切已完成加載。圖像,Flash和一些腳本,但通常不是樣式表。只有當頁面不會再改變時,才使用此代碼。

此外,與window.onload你只能附加一個偵聽器,但你可以附加儘可能多的jQuery準備好。要在window.onload附加多個事件,使用addEventListener

window.addEventListener('load', function() { 

}, false); 
2

是的,window.onload允許你只有一個偵聽器。 jQuery準備好了許多聽衆,只要你願意。

2

Windows.onload將等待一切​​加載到包含圖像的頁面上。一旦html被加載,Document.ready將盡快激發。

相關問題