JQuery $(function(){})和$(document).ready(function(){})

document.ready和onload的區別——JavaScript文檔加載完成事件
頁面加載完成有兩種事件
一是ready,表示文檔結構已經加載完成(不包含圖片等非文字媒體文件)
二是onload,指示頁面包含圖片等文件在內的所有元素都加載完成。

用jQ的人很多人都是這麼開始寫腳本的:

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

其實這個就是jq ready()的簡寫,他等價於:

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

1.window.onload方法

⑴執行時機:
在網頁中所有元素(包括元素的所有關聯文件)完全加載到瀏覽器後才執行,即JavaScript 此時可以訪問網頁中的所有元素。

window.onload=function(){ $(window).load(function(){
//編寫代碼 等價於 //編寫代碼
} });

⑵多次使用:
JavaScript的onload事件一次只能保存對一個函數的引用,他會自動用最後面的函數覆蓋前面的函數。

function one(){

    alert("one");

}

function two(){

    alert("two");

}

window.onload=one;

window.onload=two;

//運行代碼後只有 two

2.$(document).ready()方法

⑴執行時機:在DOM完全就緒時就可以被調用。(這並不意味着這些元素關聯的文件都已經下載完畢)
舉個例子:$(document).ready()方法明知要DOM就緒就可以操作了,不需要等待所有圖片下載完畢。

⑵多次使用:

function one(){

    alert("one");

}

function two(){

    alert("two");

}

$(document).ready(function(){

    one();

});

$(document).ready(function(){

    two();

});

//運行代碼後

//先是:one

//先是:two

【原文鏈接】:https://www.cnblogs.com/eric-qin/p/4325750.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章