深入理解jQuery中l(wèi)ive與bind方法的區(qū)別
注意如果是通過jq添加的層和對象一定要用live(),用其他的都不起作用
live的缺點就是,運行完以后不釋放空間,太多的使用會占用更多的內(nèi)存,bind()則點擊完以后釋放空間
區(qū)別一:
Click here
可以給這個元素綁定一個簡單的click事件:
$('.clickme').bind('click', function() {
$('body').append('
Another target
');
});
當(dāng)點擊了元素,就會彈出一個警告框。然后,想象一下這之后有另一個元素添加進來了。
盡管這個新的元素也能夠匹配選擇器 ".clickme" ,但是由于這個元素是在調(diào)用 .bind() 之后添加的,所以點擊這個元素不會有任何效果。
.live() 就提供了對應(yīng)這種情況的方法。如果我們是這樣綁定click事件的:
$('.clickme').live('click', function() {
alert("Live handler called.");
});
然后再添加一個新元素:
$('body').append('
Another target
');
然后再點擊新增的元素,他依然能夠觸發(fā)事件處理函數(shù)。
區(qū)別二:
(1)bind方法可以綁定任何JavaScript的事件,而live方法在jQuery1.3的時候只支持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)總是在一個選擇器后面直接使用 .live()方法。
(3)當(dāng)一個元素采用live方法進行事件的綁定的時候,如果想阻止事件的傳遞或冒泡,就要在函數(shù)中return false,僅僅調(diào)用stopPropagation()是無法實現(xiàn)阻止事件的傳遞或者冒泡的
- jQuery中bind(),live(),delegate(),on()綁定事件方法實例詳解
- jQuery事件綁定用法詳解(附bind和live的區(qū)別)
- jQuery中對未來的元素綁定事件用bind、live or on
- jQuery中bind與live的用法及區(qū)別小結(jié)
- jQuery中bind,live,delegate與one方法的用法及區(qū)別解析
- 解析jQuery的三種bind/One/Live事件綁定使用方法
- Jquery綁定事件(bind和live的區(qū)別介紹)
- jQuery中的.bind()、.live()和.delegate()之間區(qū)別分析
- jquery中l(wèi)ive()方法和bind()方法區(qū)別分析
相關(guān)文章
jQuery實現(xiàn)table隔行換色和鼠標(biāo)經(jīng)過變色的兩種方法
這篇文章主要介紹jQuery實現(xiàn)table隔行換色和鼠標(biāo)經(jīng)過變色的兩種方法,需要的朋友可以參考下2014-06-06jQuery實現(xiàn)網(wǎng)頁抖動的菜單抖動效果
這篇文章主要介紹了jQuery實現(xiàn)網(wǎng)頁抖動的菜單抖動效果,鼠標(biāo)滑過菜單項可見到菜單項的抖動效果,涉及jquery鼠標(biāo)事件及頁面元素樣式動態(tài)操作的技巧,需要的朋友可以參考下2015-08-08解決jquery的ajax調(diào)取后端數(shù)據(jù)成功卻渲染失敗的問題
今天小編就為大家分享一篇解決jquery的ajax調(diào)取后端數(shù)據(jù)成功卻渲染失敗的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Easyui 去除jquery-easui tab頁div自帶滾動條的方法
這篇文章主要介紹了Easyui 去除jquery-easui tab頁div自帶滾動條的方法,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05