jquery的ready 方法與body onload有什麼區別

時間 2021-07-08 22:12:18

1樓:匿名使用者

一般情況下都是設定body標籤的onload監聽window的load事件.但load事件是要在頁面的元素全部載入完了才觸發的,如果頁面上**較多或**太大,就會導致初始化的**未被執行的時候使用者就做了其它操作了. jquery庫提供了一個非常方便好用的函式( $(selector).

ready()),讓我們可以在頁面的dom載入完後就可以做相應的操作(當然,這還得看使用者瀏覽器的支援).,而不用等待全部元素載入完成.例如:

$(document).ready(function ());

$(document).ready(function ());

現在讓我們來研究一下這個函式的實現.

原理:在jquery指令碼載入的時候,會設定一個isready的標記,監聽domcontentloaded事件(這個不是什麼瀏覽器都有的,不同瀏覽器,jquery運作方式不一樣).當然遇到呼叫ready函式的時候,如果isready未被設定,那就是說頁面未載入完,就會把要執行的函式用一個陣列快取起來,當頁面載入完後,再把快取的函式一一執行.

詳細出處參考

2樓:匿名使用者

jquery ready可以寫好幾個,每個都執行

onload只能寫一個,你寫好幾個,也只執行一個,好像是執行最後一個

jquery中的事件在ready()方法裡面和外面的區別

3樓:匿名使用者

有區別.

ready()方法意思是等整個頁面的dom樹解析完畢執行.

而直接繫結方法是頁面流從上往下解析到當前位置時執行. 這個時候不一定dom載入完畢, 所以很可能出錯.

而放在ready方法裡面,就不會出錯!

參考:http://zhidao.

4樓:不會鬧的鬧鐘

ready方法為dom節點解析完畢後開始執行的,直接寫在外面就為順序執行。

寫在外面的函式 執行時button還沒有解析生成,是綁不上去的哦

ajax是jquery的方法嗎

少了一個點 ajax jquery的ajax請求方法。jquery中的 ajax 方法,日期格式化 function changedateformat cellval 用這個方法轉一下。根據你的返回值,我寫了一個你試試 v chantitle v chanlinkman v chanlinktel ...

jQuery中的animate 方法,無效怎麼辦,求告知錯誤

單位不一樣 img1 animate 1500 這裡的100是100px img1 animate 1500 這裡的100 是高度為100 如果要賦值的話 img1 animate 1500 js問題 jquery問題 jquery的animate重複執行應該怎麼解決 this animate 10...

jquery中 map與each的區別

一 功能不同 1 map 用於使用指定函式處理陣列中的每個元素 或物件的每個屬性 並將處理結果封裝為新的陣列返回。2 each 為每個匹配元素規定要執行的函式。二 傳遞引數不同 1 map 會為函式傳入兩個引數 其一是當前迭代的元素或屬性值,其二是當前迭代項的陣列索引或物件屬性名。2 each 會為...