本文實例講述了jQuery的文檔處理程序。分享給大家供大家參考,具體如下:
jQuery文檔處理程序
所謂的文檔處理程序,是指jQuery中提供的$(document).ready事件,此事件會在dom加載完畢后觸發,而window.onlaod和body.onload都是在頁面完全加載后觸發。
jQuery文檔處理程序介紹
在jQuery中想實現在DOM加載完畢后的處理邏輯,只需要使用$(document).ready()事件。此事件函數稱為"jQuery文檔處理程序"。
可以在頁面的任何位置,甚至是外部的js文件中,編寫如下列語句:
$(document).ready(function (){ alert("document.ready")});則在頁面的DOM加載完畢后,會立刻執行alert語句。如果頁面上有大的圖片、js文件等外部資源需要加載,jQuery的文檔處理程序會在其之前執行,而window.onload和boyd.onload是在所有的資源文件加載完畢后執行的。
Ready()函數時jQuery"事件函數"中提供的一個jQuery對象函數,簽名位ready(fn)。
fn是ready事件發生時執行的函數。
因為是jQuery對象函數,意味著可以在任何jQuery對象上調用:
$("body").ready(function (){ alert("body.ready")});上面的語句等同于:
$(document).ready(function (){alert("body.ready")});雖然ready()函數可以作用在任何jQuery對象上,但是使用時一定要注意對象是否具有ready事件。
也可以使用"$(fn)"這種簡化的形式:
$(function (){….})//等效于$(document).ready(function(){…});同jQuery中所有的事件對象一樣,$(document).ready事件,會按照出現的先后順序執行。
比如,可以調用兩次$(document).ready事件:
$(document).ready(function (){alert("document.ready-1")});$(document). ready(function (){alert("document.ready-2")});則在DOM加載完畢后,首先輸出"document.ready-1",然后輸出"document.ready-2"。如果使用傳統的:
Window.onload=function(){…..};上面的代碼會將window.onload原有的事件處理掉,然后綁定新的事件。
jQuery文檔處理程序的優勢
如果腳本需要在頁面加載時執行,那么大部分的腳本都可以放在$(document).ready()事件中。
在舉例jQuery文檔處理程序的優勢之前,先看一個常見的JavaScript編程錯誤:dom未加載完成即改變dom模型。
在傳統的javascript編程中。有時會在頁面的頭部或者底部直接插入script模塊并編寫代碼,比如下面的例子:
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head> <title>jQueryStorm 主站蜘蛛池模板: 措美县| 双峰县| 福贡县| 杂多县| 北安市| 高台县| 银川市| 青浦区| 通道| 石泉县| 朝阳市| 阜阳市| 新巴尔虎左旗| 上林县| 贵州省| 新津县| 北碚区| 旌德县| 舟曲县| 新余市| 清水县| 淮北市| 红桥区| 临邑县| 柳江县| 咸丰县| 马龙县| 青河县| 黔东| 奇台县| 双鸭山市| 竹溪县| 驻马店市| 崇仁县| 广德县| 宝鸡市| 台江县| 苗栗市| 阿瓦提县| 平南县| 普宁市|