亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery中.live()方法的用法深入解析

2019-11-20 21:21:04
字體:
來源:轉載
供稿:網友

給jquery動態生成的頁面元素添加事件?使用livequery插件,或可以使用jquery的live方法。摘錄一段live簡單使用方法。

更多詳情還見官網 http://api.jquery.com/live/

live(type, [data],fn)

概述

jQuery給所有匹配的元素附加一個事件處理函數,即使這個元素是以后再添加進來的也有效。

這個方法是基本是的 .bind() 方法的一個變體。使用 .bind()時,選擇器匹配的元素會附加一個事件處理函數,而以后再添加的元素則不會有。為此需要再使用一次 .bind() 才行。比如說

Click here
 
可以給這個元素綁定一個簡單的click事件:

$('.clickme').bind('click', function() {
 alert("Bound handler called.");     
}); 

當點擊了元素,就會彈出一個警告框。

然后,想象一下這之后有另一個元素添加進來了。

$('body').append('
Another target
');

盡管這個新的元素也能夠匹配選擇器".clickme" ,但是由于這個元素是在調用 .bind() 之后添加的,所以點擊這個元素不會有任何效果。

.live()就提供了對應這種情況的方法。如果我們是這樣綁定click事件的:

$('.clickme').live('click', function() {
 alert("Live handler called.");      
});

然后再添加一個新元素:

$('body').append('
Another target
');

然后再點擊新增的元素,他依然能夠觸發事件處理函數。 

事件委托

.live()方法能對一個還沒有添加進DOM的元素有效,是由于使用了事件委托:綁定在祖先元素上的事件處理函數可以對在后代上觸發的事件作出回應。

傳遞給 .live()的事件處理函數不會綁定在元素上,而是把他作為一個特殊的事件處理函數,綁定在 DOM樹的根節點上。在我們的例子中,當點擊新的元素后,會依次發生下列步驟:

1、生成一個click事件傳遞給<div> 來處理

2、由于沒有事件處理函數直接綁定在 <div>上,所以事件冒泡到DOM樹上

3、事件不斷冒泡一直到DOM樹的根節點,默認情況下上面綁定了這個特殊的事件處理函數。

4、執行由 .live() 綁定的特殊的click 事件處理函數。

5、這個事件處理函數首先檢測事件對象的target 來確定是不是需要繼續。這個測試是通過檢測 $(event.target).closest('.clickme')能否找到匹配的元素來實現的。

6、如果找到了匹配的元素,那么調用原始的事件處理函數。

由于只有在事件發生時才會在上面的第五步里做測試,因此在任何時候添加的元素都能夠響應這個事件。


附加說明

.live()雖然很有用,但由于其特殊的實現方式,所以不能簡單的在任何情況下替換 .bind()。主要的不同有:

在jQuery 1.4中,.live()方法支持自定義事件,也支持所有的JavaScript 事件。在jQuery 1.4.1中,甚至也支持 focus 和 blue事件了(映射到更合適,并且可以冒泡的focusin和focusout上)。

另外,在jQuery1.4.1中,也能支持hover(映射到"mouseenter mouseleave")。然而在jQuery1.3.x中,只支持支持的JavaScript事件和自定義事件:click, dblclick, keydown, keypress,keyup, mousedown, mousemove, mouseout, mouseover, 和 mouseup.

.live()并不完全支持通過DOM遍歷的方法找到的元素。取而代之的是,應當總是在一個選擇器后面直接使用 .live()方法,正如前面例子里提到的。

當一個事件處理函數用 .live()綁定后,要停止執行其他的事件處理函數,那么這個函數必須返回 false。 僅僅調用 .stopPropagation()無法實現這個目的。

參考 .bind() 方法可以獲得更多關于事件綁定的信息。

在jQuery 1.4.1中,你可以一次綁定多個事件給 .live() ,跟.bind() 提供的功能類似。

在jQuery 1.4中,data參數可以用于把附加信息傳遞給事件處理函數。一個很好的用處是應付由閉包導致的問題??梢詤⒖?.bind()的討論來獲得更多信息。


參數

typeString     事件類型

data(可選)    Object          欲綁定的事件處理函數

fn                  Function        欲綁定的事件處理函數


示例

HTML 代碼:
 
Click me!

jQuery 代碼:
    $("p").live("click", function(){
         $(this).after("

Another paragraph!

");
    });

描述:

阻止默認事件行為和事件冒泡,返回false

jQuery 代碼:
$("a").live("click", function() { returnfalse; });

描述:

僅僅阻止默認事件行為

jQuery 代碼:
$("a").live("click", function(event){
    event.preventDefault();
 });

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品久久久| 97香蕉超级碰碰久久免费的优势| 91午夜在线播放| 国产亚洲精品久久| 欧美国产日本在线| 亚洲va久久久噜噜噜久久天堂| 亚洲精品色婷婷福利天堂| 欧美亚洲另类激情另类| 国产精品一区二区久久久久| 在线观看日韩欧美| 97成人精品视频在线观看| 亚洲国产精品va在线看黑人动漫| 青草青草久热精品视频在线网站| 亚洲国产精品国自产拍av秋霞| 国产精品91视频| 国产在线观看精品一区二区三区| 91禁国产网站| 伊人久久免费视频| 91精品视频免费看| 欧美一级免费视频| 97国产在线视频| 国产精品日韩欧美综合| 成人午夜在线观看| 亚洲区免费影片| 国外日韩电影在线观看| 搡老女人一区二区三区视频tv| 亚洲va码欧洲m码| 亚洲影院高清在线| 亚洲国产女人aaa毛片在线| 日韩高清电影好看的电视剧电影| 亚洲免费小视频| 日韩精品中文字幕在线播放| 国产亚洲一区二区在线| 欧美黑人性视频| 中文字幕不卡在线视频极品| 久久精品国产亚洲精品| 亚洲精品一区在线观看香蕉| 少妇久久久久久| 成人免费看黄网站| 精品国内自产拍在线观看| 久久99亚洲精品| 亚洲天堂av在线免费| 亚洲精品乱码久久久久久按摩观| 亚洲在线www| 欧美限制级电影在线观看| 亚洲视频日韩精品| 欧美精品第一页在线播放| 国产美女扒开尿口久久久| 亚洲男人天堂2019| 国产精品成人品| 久久久久国产视频| 国产亚洲精品久久久| 久久亚洲精品视频| 日韩va亚洲va欧洲va国产| 亚洲人成电影在线观看天堂色| 91精品国产91久久久久福利| 98视频在线噜噜噜国产| 久久九九热免费视频| 亚洲成人免费网站| 国产在线观看精品一区二区三区| 91免费人成网站在线观看18| 中文国产成人精品| 国产精品黄页免费高清在线观看| 成人免费在线网址| 日韩欧美一区二区三区久久| 国产精品狠色婷| 亚洲欧美一区二区三区情侣bbw| 国产在线a不卡| 日韩欧美国产一区二区| 久热99视频在线观看| 日本韩国在线不卡| 日韩精品视频免费| 一本大道久久加勒比香蕉| 97超级碰碰人国产在线观看| 亚洲国产另类 国产精品国产免费| 欧美专区在线播放| 97久久精品在线| 亚洲aⅴ日韩av电影在线观看| 日韩av中文字幕在线播放| 国产精品视频在线观看| 日韩在线观看电影| 日本在线观看天堂男亚洲| 日韩亚洲欧美成人| 欧美日韩亚洲系列| 亚洲一区中文字幕在线观看| 色播久久人人爽人人爽人人片视av| 精品久久久久久| 一区二区欧美在线| 久久久久久久久久久网站| 亚洲精品97久久| 成人在线免费观看视视频| 久久国产精品首页| 5566成人精品视频免费| 欧美性猛交xxxx偷拍洗澡| 欧美激情奇米色| 91精品国产高清久久久久久久久| 欧美日韩亚洲一区二区| 国产精品一区久久| 国产成人精品日本亚洲| 亚洲成人精品在线| 亚洲电影天堂av| 亚洲免费视频网站| 精品日韩美女的视频高清| 日韩专区中文字幕| 亚洲美女久久久| 在线观看91久久久久久| 国产激情久久久| 91香蕉电影院| 欧美国产日韩中文字幕在线| 欧美电影免费看| 亚洲在线第一页| 国产精品日韩欧美综合| 欧美日韩国产色| 欧美重口另类videos人妖| 日韩精品日韩在线观看| 亚洲黄色片网站| 91亚洲午夜在线| 揄拍成人国产精品视频| 久久视频国产精品免费视频在线| 日韩精品中文字幕视频在线| 高清一区二区三区四区五区| 久久久精品在线观看| 在线观看久久久久久| 2019av中文字幕| 欧美在线一区二区视频| 中文字幕日韩免费视频| 久久久久久久久爱| 亚洲娇小xxxx欧美娇小| 欧美视频在线视频| 亚洲精品99久久久久中文字幕| 91亚洲精品一区二区| 欧美极品美女电影一区| 日本在线观看天堂男亚洲| 亚洲国产高清自拍| 亚洲第一精品电影| 国产精品久久久久久久久| 亚洲性xxxx| 精品福利免费观看| 深夜福利一区二区| 在线电影欧美日韩一区二区私密| 国产日韩欧美中文| 日韩国产欧美精品一区二区三区| 7777免费精品视频| 91精品视频网站| 国产精品久久二区| 日韩欧美亚洲一二三区| 国产成人啪精品视频免费网| 欧美高跟鞋交xxxxhd| 国产欧美精品在线播放| 亚洲人a成www在线影院| www.亚洲免费视频| 亚洲欧美福利视频| 91色视频在线导航| 一本色道久久88综合日韩精品| 欧美专区在线观看| 97超级碰在线看视频免费在线看| 欧美极品在线视频| 国产不卡在线观看| 日本一区二区三区在线播放| 国产一区二区视频在线观看| 日韩中文有码在线视频| 97国产在线观看| 国产精品专区h在线观看| 亚洲男人天堂2024|