2010-07-07 81 views

回答

9

ready當只有DOM準備好而當所有資源包括頁面DOM,圖像,框架等已加載onload觸發器被觸發。

參見:

$(document).ready vs. $(window).load

ready在於使用jQuery而不是原始的JavaScript,所以我想你知道這一點,這樣比較似乎是合乎邏輯。

+2

注意,瀏覽器必須支持底層'DOMContentLoaded'事件jQuery的'ready'事件立即觸發時,文檔內容已準備就緒。 IE可能會稍後啓動它;對於沒有支持的其他瀏覽器,'ready'會在'load'的同時有效觸發。 – bobince 2010-07-07 19:30:01

7

。就緒之間的差異,儘快稱爲頁面代碼被下載和解析。

。當下載所有圖像/視頻/等時調用.onload()。

對於jQuery,使用.ready()可以取得最佳效果,除非您有特別的理由等待onload()。

1

所有在jquery docs內解釋。

,大多數的Javascript 程序員最終做的是加入 一些代碼到他們的程序,類似 這樣做的第一件事就是:

window.onload = function(){ alert("welcome"); }

內部是 你想要的代碼在頁面加載時右擊 。 然而,問題是, JavaScript代碼不會運行,直到所有 圖像完成下載(此 包括橫幅廣告)。 使用window.onload的原因 的原因是,HTML'文檔'不是 完成加載,但你第一次嘗試運行你的代碼時, 。

爲了繞過這兩個問題,jQuery的 有一個簡單的語句來檢查 文件並等待,直到它準備 被操縱,被稱爲準備 事件:

順便說一句(和suggested通過雅虎)我總是確保我的jquery/js腳本包含在身體關閉標記之前。這樣你就不必擔心窗口加載或jquery就緒函數。

2

。就緒()

的函數的DOM之後執行已準備就緒。

- 從所述jQuery API Docs

.onload()

當用戶代理完成加載窗或FRAMESET內所有幀出現onload事件。

- 從該HTML 4.01 Specification