欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解jQuery向動(dòng)態(tài)生成的內(nèi)容添加事件響應(yīng)jQuery live()方法

 更新時(shí)間:2015年11月02日 10:31:25   投稿:lijiao  
這篇文章主要介紹了jQuery向動(dòng)態(tài)生成的內(nèi)容添加事件響應(yīng)jQuery live()方法,需要的朋友可以參考下

jQuery live()方法是給所有匹配的元素附加一個(gè)事件處理函數(shù),即使這個(gè)元素是以后通過(guò)append,prepend,after等事件生成后的內(nèi)容也依然有效。
這個(gè)方法可以看做是 .bind() 方法的一個(gè)變體。使用 .bind() 時(shí),選擇器匹配的元素會(huì)附加一個(gè)事件處理函數(shù),而以后再添加的元素則不會(huì)有。為此需要再使用一次 .bind() 才行。比如說(shuō):

<body> 
<div class="clickme">Click here</div> 
</body> 

可以給這個(gè)元素綁定一個(gè)簡(jiǎn)單的click事件:

復(fù)制代碼 代碼如下:
$('.clickme').bind('click', function() { alert(www.dbjr.com.cn); });

 當(dāng)點(diǎn)擊了元素,就會(huì)彈出一個(gè)警告框。然后,想象一下這之后有另一個(gè)元素添加進(jìn)來(lái)了。
復(fù)制代碼 代碼如下:
$('body').append('<div class="clickme">Another target</div>');

盡管這個(gè)新的元素也能夠匹配選擇器 ".clickme" ,但是由于這個(gè)元素是在調(diào)用 .bind() 之后添加的,所以點(diǎn)擊這個(gè)元素不會(huì)有任何效果。
但live() 就提供了對(duì)應(yīng)這種情況的方法。如果我們是這樣綁定click事件的:
復(fù)制代碼 代碼如下:
$('.clickme').live('click', function() { alert("www.dbjr.com.cn"); });

這樣點(diǎn)擊新增的元素,它依然能夠觸發(fā)事件處理函數(shù)。
事件委托
live() 方法能對(duì)一個(gè)還沒有添加進(jìn)DOM的元素有效,是由于使用了事件委托:綁定在祖先元素上的事件處理函數(shù)可以對(duì)在后代上觸發(fā)的事件作出回應(yīng)。傳遞給 live() 的事件處理函數(shù)不會(huì)綁定在元素上,而是把他作為一個(gè)特殊的事件處理函數(shù),綁定在 DOM 樹的根節(jié)點(diǎn)上。
在我們的例子中,當(dāng)點(diǎn)擊新的元素后,會(huì)依次發(fā)生下列步驟:
1、生成一個(gè)click事件傳遞給 <div> 來(lái)處理。
2、由于沒有事件處理函數(shù)直接綁定在 <div> 上,所以事件冒泡到DOM樹上。
3、事件不斷冒泡一直到DOM樹的根節(jié)點(diǎn),默認(rèn)情況下上面綁定了這個(gè)特殊的事件處理函數(shù)。
4、執(zhí)行由 .live() 綁定的特殊的 click 事件處理函數(shù)。
5、這個(gè)事件處理函數(shù)首先檢測(cè)事件對(duì)象的 target 來(lái)確定是不是需要繼續(xù)。
6、這個(gè)測(cè)試是通過(guò)檢測(cè) $(event.target).closest('.clickme') 能否找到匹配的元素來(lái)實(shí)現(xiàn)的。
7、如果找到了匹配的元素,那么調(diào)用原始的事件處理函數(shù)。
8、由于只有在事件發(fā)生時(shí)才會(huì)在上面的第五步里做測(cè)試,因此在任何時(shí)候添加的元素都能夠響應(yīng)這個(gè)事件。
以上就是對(duì)jQuery向動(dòng)態(tài)生成的內(nèi)容添加事件響應(yīng)jQuery live()方法的詳細(xì)介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • jquery遍歷數(shù)組與篩選數(shù)組的方法

    jquery遍歷數(shù)組與篩選數(shù)組的方法

    在jquery是遍歷篩選數(shù)組有多種方法與函數(shù)了,包括有:grep、each、inArray、map同時(shí)也要以遍歷json對(duì)象哦,下面給各位同學(xué)介紹一下具體的操作方法
    2013-11-11
  • jQuery選擇器全集詳解

    jQuery選擇器全集詳解

    本文結(jié)合圖文代碼,基本上將所有的jQuery選擇器都講解了一遍,非常的詳盡,希望對(duì)大家能有所幫助。
    2014-11-11
  • jquery實(shí)現(xiàn)購(gòu)物車功能

    jquery實(shí)現(xiàn)購(gòu)物車功能

    這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)購(gòu)物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • jquery實(shí)現(xiàn)右鍵菜單插件

    jquery實(shí)現(xiàn)右鍵菜單插件

    本文給大家分享的是使用jquery實(shí)現(xiàn)模擬右鍵菜單插件的方法和代碼分享,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-03-03
  • jQuery創(chuàng)建自己的插件(自定義插件)的方法

    jQuery創(chuàng)建自己的插件(自定義插件)的方法

    在該系列之前的文章使用 jQuery:UI 項(xiàng)目中,我介紹了使用 jQuery 代碼中的插件來(lái)提高 web 應(yīng)用程序的效率。
    2010-06-06
  • jQuery實(shí)現(xiàn)的圖片分組切換焦點(diǎn)圖插件

    jQuery實(shí)現(xiàn)的圖片分組切換焦點(diǎn)圖插件

    這篇文章主要介紹了jQuery實(shí)現(xiàn)的圖片分組切換焦點(diǎn)圖插件,效果非常棒,而且很實(shí)用,推薦給有需要的小伙伴。
    2015-01-01
  • jquery 導(dǎo)航條的效果(css選擇器控制)

    jquery 導(dǎo)航條的效果(css選擇器控制)

    jquery 導(dǎo)航條的效果,主要是針對(duì)css的控制。
    2010-05-05
  • jQuery 3.0十大新特性

    jQuery 3.0十大新特性

    在2016年6月迎來(lái)了jquery3.0最終版,jquery3.0有哪些新特征呢?很多朋友不是很清楚,下面小編給大家?guī)?lái)了jQuery 3.0十大新特性,感興趣的朋友一起看下吧
    2016-07-07
  • jQuery 版元素拖拽原型代碼

    jQuery 版元素拖拽原型代碼

    “元素拖拽”顧名思義:拖動(dòng),移動(dòng),拽放。有很多的解釋,而且在網(wǎng)上相關(guān)資料非常之多,本人在開發(fā) AsyncBox 當(dāng)中也用到此效果,借此分享,同時(shí)也是一種技術(shù)積累。
    2011-04-04
  • Jquery和Js獲得元素標(biāo)簽名稱的方法總結(jié)

    Jquery和Js獲得元素標(biāo)簽名稱的方法總結(jié)

    下面小編就為大家?guī)?lái)一篇Jquery和Js獲得元素標(biāo)簽名稱的方法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10

最新評(píng)論