2011年10月2日 星期日

[jQuery] ready() vs. onload()

[jQuery ready()]
  • 先透過 $() 取得 document 物件,接著使用 ready() 帶入一個函數,就可以在網頁下載完成後立即執行。
  • ex: $(document).ready(function());
  • 是模擬 W3C DOM 標準的 DOMContentLoaded 事件,因為,IE 目前的版本 6 和 7 並不支援 DOMContentLoaded 事件,所以 jQuery 用了此方法來達到模擬 DOMContentLoaded 的事件。
  • 在 DOM 文件下載完成後觸發。

[window.onload()]
  • 是文件和所有文件內的元件,包含圖檔等等全部下載完成後才會觸發

[versus]
  • 通常 window.onload 的發生時間要比 DOMContentLoaded 晚一點(如果你的網頁內確實有用到一些圖檔)
    • 所以,有時候你所需要執行的程式並不需要等所有圖檔都下載完成,因此,放到 DOMContentLoaded 事件內處理是比較合適的。
  • window.onload 並沒有辦法多次指定不同的函數來執行,最後指定的那個函數會複寫掉先前的。


* Reference
- jQuery 教學 - 基礎篇 - JavaScript 教學、心得分享 - jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 - Powered by Discuz! **

沒有留言:

張貼留言