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未被設定,那就是說頁面未載入完,就會把要執行的函式用一個陣列快取起來,當頁面載入完後,再把快取的函式一一執行.

詳細出處參考:http://www.jb51.net/article/21268.htm

2樓:匿名使用者

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

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

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

3樓:匿名使用者

有區別.

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

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

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

參考:http://zhidao.

4樓:不會鬧的鬧鐘

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

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

jquery中bind方法中的引數

死亡冰劍 keydown mouseover click mouseup mousemove.跪求jquery中的bind 引數中function引數問題 如果你這裡面寫的是繫結click方法,我就不知道怎麼回事兒了,但如果不是click,而是chick,那就有可能知道data是什麼,如下是api中...

jquery獲取父視窗元素的方法

1 id window.opener.document val 賦值 或者賦值 2 上述 1 中的id為父視窗元素的id,獲得後可以給賦值用val方法或者html方法 3 原生js可以這樣寫 window.opener.document.getelementbyid id value 賦值或者 wi...

php post方法使用問題,jQuery向php提交資料問題( get和 post)

直接開啟頁面 b,對於 b 來說,post 是一個空的陣列,裡面沒有元素,所以你獲取 裡面的元素,比如 post name 時會報錯。解決辦法就是判斷下是否有這個值,如 name isset post name post name a 頁面提交資料到 b,對於 b 來說,post 是有元素,表單項的...