JS 頁面加載觸發事件 document.ready和window.onload的區別

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

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

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

 

一、Dom Readyjava

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

$(function(){ 
      // do something 
});

例如:code

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

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

$(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了。blog

 

二、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>
相關文章
相關標籤/搜索