亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

深入理解jQuery中l(wèi)ive與bind方法的區(qū)別

 更新時(shí)間:2013年12月18日 09:44:28   作者:  
本篇文章主要是對(duì)jQuery中l(wèi)ive與bind方法的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助

注意如果是通過jq添加的層和對(duì)象一定要用live(),用其他的都不起作用

live的缺點(diǎn)就是,運(yùn)行完以后不釋放空間,太多的使用會(huì)占用更多的內(nèi)存,bind()則點(diǎn)擊完以后釋放空間

區(qū)別一:

Click here

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

$('.clickme').bind('click', function() {
$('body').append('

Another target
');
});

當(dāng)點(diǎn)擊了元素,就會(huì)彈出一個(gè)警告框。然后,想象一下這之后有另一個(gè)元素添加進(jìn)來了。

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

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

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

然后再添加一個(gè)新元素:

$('body').append('

Another target
');

然后再點(diǎn)擊新增的元素,他依然能夠觸發(fā)事件處理函數(shù)。

 

區(qū)別二:

(1)bind方法可以綁定任何JavaScript的事件,而live方法在jQuery1.3的時(shí)候只支持click, dblclick, keydown, keypress,keyup,mousedown, mousemove, mouseout, mouseover, 和 mouseup.在jQuery 1.4.1中,甚至也支持 focus 和 blue事件了(映射到更合適,并且可以冒泡的focusin和focusout上)。另外,在jQuery 1.4.1中,也能支持hover(映射到"mouseenter mouseleave")。

(2)live() 并不完全支持通過DOM遍歷的方法找到的元素。取而代之的是,應(yīng)當(dāng)總是在一個(gè)選擇器后面直接使用 .live()方法。

(3)當(dāng)一個(gè)元素采用live方法進(jìn)行事件的綁定的時(shí)候,如果想阻止事件的傳遞或冒泡,就要在函數(shù)中return false,僅僅調(diào)用stopPropagation()是無法實(shí)現(xiàn)阻止事件的傳遞或者冒泡的

相關(guān)文章

最新評(píng)論