document.ready和window.onload的區別

document.ready和onload的區別——JavaScript文檔加載完成事件
頁面加載完成有兩種事件:javascript

一是ready,表示文檔結構已經加載完成(不包含圖片等非文字媒體文件);css

二是onload,指示頁面包含圖片等文件在內的全部元素都加載完成。html

一、Dom Readyjava

使用jq時通常都是這麼開始寫腳本的:code

$(function(){htm

// do something

});
例如:事件

$(function() {圖片

$("a").click(function() {
       alert("Hello world!");
  });

})
這個例子就是給全部的a標籤綁定了一個click事件。即當全部連接被鼠標單擊的時候,都執行 alert("Hello World!");
也就是說頁面加載時綁定,真正該觸發時觸發。
其實這個就是jq ready()的簡寫,它等價於:ip

複製代碼
$(document).ready(function(){文檔

//do something

})
//或者下面這個方法,jQuer的默認參數是:「document」;
$().ready(function(){

//do something

})
複製代碼
這個就是jq ready()的方法就是Dom Ready,他的做用或者意義就是:在DOM加載完成後就能夠能夠對DOM進行操做。
通常狀況一個頁面響應加載的順序是,域名解析-加載html-加載js和css-加載圖片等其餘信息。
那麼Dom Ready應該在「加載js和css」和「加載圖片等其餘信息」之間,就能夠操做Dom了。

二、Dom Load

用原生的js的時候咱們一般用onload時間來作一些事情,好比:

複製代碼
window.onload=function(){

//do something

}
//或者常常用到的圖片
document.getElementById("imgID").onload=function(){

//do something

}
複製代碼
這種就是Dom Load,他的做用或者意義就是:在document文檔加載完成後就能夠對DOM進行操做,document文檔包括了加載圖片等其餘信息。
那麼Dom Load就是在頁面響應加載的順序中的「加載圖片等其餘信息」以後,就能夠操做Dom了。

最後附上一段在全部DOM元素加載以前執行的jQuery代碼。

<script type="text/javascript">
(function() {

alert("DOM還沒加載哦!");
    })(jQuery)

</script>

相關文章
相關標籤/搜索