Livequery是一款基于jQuery的插件,主要作用是對動態(tài)創(chuàng)建的DOM元素進行事件綁定.

成都創(chuàng)新互聯(lián)從2013年成立,先為屯留等服務(wù)建站,屯留等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為屯留企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
jquery的1.83之前的一些版本實際上已經(jīng)加入了.live綁定事件的接口,所以不需要再使用插件了.
"動態(tài)創(chuàng)建的DOM元素進行事件綁定",舉個例子:
$("input")是查找頁面上已有的input,但是有可能這個input在當(dāng)前頁面沒有,是要之后動態(tài)加進去的,又想在動態(tài)加進去之前就綁定一個事件,這種時候就適合用live
但是jquery在1.83之后的版本棄用了.live接口,原因是這個接口實際上是會把綁定事件的對象設(shè)置為document,然后對內(nèi)部的元素進行遍歷,但是操作document遍歷的性能成本是很高的. 個人覺得一種比較好而且合理的替代方法就是在動態(tài)元素加載完成之后再綁定事件.
live在jQuery1.7中就不再建議使用,在1.9中就給刪除了。
在jQuery官方網(wǎng)站上說明了原因,并聲稱用on方法取代live方法。
jQuery官方網(wǎng)站聲稱下面三行代碼是等價的
$("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+
$(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+
目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。
還不支持 blur, focus, mouseenter, mouseleave, change, submit
與bind()不同的是,live()一次只能綁定一個事件。
這個方法跟傳統(tǒng)的bind很像,區(qū)別在于用live來綁定事件會給所有當(dāng)前以及將來在頁面上的元素綁定事件(使用委派的方式)。比如說,如果你給頁面上所有的li用live綁定了click事件。那么當(dāng)在以后增加一個li到這個頁面時,對于這個新增加的li,其click事件依然可用。而無需重新給這種新增加的元素綁定事件。
用法示例:
div class=”myDiv”/div
jquery:
$(“.myDiv”).live(“click”, function(){
alert(“clicked!”);
});
如果使用javascript動態(tài)創(chuàng)建一個class為mydiv的元素,點擊元素依然會有彈出。為什么使用live后就有了呢?這是因為jquery利用了事件的冒泡機制,直接把事件綁定在了document上,然后通過event.target找出事件的來源。這跟jquery.livequery插件不一樣,jquery.livequery每20毫秒做一次檢查,如有新生成則重新綁定一次事件。
使用live當(dāng)然有利也有弊:
好處就是:元素更新時不用反復(fù)去定義事件。
壞處就是:把事件綁定在document上會在頁面上每一個元素都呼叫一次,如使用不當(dāng)會嚴重影響性能。而且不支持blur, focus, mouseenter, mouseleave, change, submit。
2.移除live綁定的事件
在Jquery里,使用live來綁定事件,若想移除該事件,要使用die方法。
如:
$(“.myDiv”).die("click");
這樣就好將綁定的click事件移除掉。
“文章形式”是Wordpress 3.1新增的一個十分給力的主題功能,這是一個通用的核心功能,任何主題都可以加入此功能的支持。
默認情況下,已經(jīng)添加了標準、日志、鏈接、相冊、狀態(tài)、引證、圖像七種文章形式。
創(chuàng)建一種文章形式?jīng)]有簡便方法,可以通過了注冊自定義分類實現(xiàn),實現(xiàn)起來比較麻煩,需要多學(xué)習(xí)一下。
但是,對現(xiàn)有的文章形式進行重命名,還是很容易實現(xiàn)的。
這里以將“Aside”重命名為“Tips”為例子,直接編輯functions.php?文件,加入下面的代碼就可以了。
由于Wordpress中文版本質(zhì)上還是以語言包形式實現(xiàn)的,所以還有一種簡單方法就是直接修改語言包。
$(selector).bind(event,data,function)
$(selector).live(event,data,function)//jquery1.9版本以下支持,jquery1.9及其以上版本刪除了此方法,jquery1.9以上版本用on()方法來代替$(selector).delegate(childSelector,event,data,function)//jquery1.4.2及其以上版本;$(selector).on(event,childselector,data,function)//jquery1.7及其以上版本;jquery1.7版本出現(xiàn)之后用于替代bind(),live()綁定事件方式;
event:必需項;添加到元素的一個或多個事件,例如 click,dblclick等;
單事件處理:例如 $(selector).bind("click",data,function);
多事件處理:1.利用空格分隔多事件,例如 $(selector).bind("click dbclick mouseout",data,function);
2.利用大括號靈活定義多事件,例如 $(selector).bind({event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨綁定函數(shù),適合處理多個事件調(diào)用同一函數(shù)情況;
大括號替代方式:綁定較為靈活,可以給事件單獨綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時,需要執(zhí)行的函數(shù);適用所有版本,但是根據(jù)官網(wǎng)解釋,自從jquery1.7版本以后bind()函數(shù)推薦用on()來代替。
一、作用不同
1、on():在被選元素及子元素上添加一個或多個事件處理程序。
2、live():為被選元素附加一個或多個事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時運行的函數(shù)。
二、觸發(fā)條件不同
1、on():使用 on() 方法添加的事件處理程序適用于當(dāng)前及未來的元素(比如由腳本創(chuàng)建的新元素)。
2、live():通過 live() 方法附加的事件處理程序適用于匹配選擇器的當(dāng)前及未來的元素(比如由腳本創(chuàng)建的新元素)。
三、語法不同
1、on():$(selector).on(event,childSelector,data,function)childSelector可選。規(guī)定只能添加到指定的子元素上的事件處理程序(且不是選擇器本身,比如已廢棄的 delegate() 方法)。
2、live():$(selector).live(event,data,function),其中event必需。規(guī)定附加到元素的一個或多個事件。由空格分隔多個事件。必須是有效的事件。
參考資料來源:百度百科-jQuery
網(wǎng)站名稱:jquery.live的簡單介紹
網(wǎng)站地址:http://chinadenli.net/article5/dsgjgii.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、定制網(wǎng)站、做網(wǎng)站、服務(wù)器托管、軟件開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)