国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

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

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

live的缺點就是,運行完以后不釋放空間,太多的使用會占用更多的內存,bind()則點擊完以后釋放空間

區(qū)別一:

Click here

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

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

Another target
');
});

當點擊了元素,就會彈出一個警告框。然后,想象一下這之后有另一個元素添加進來了。

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

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

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

然后再添加一個新元素:

$('body').append('

Another target
');

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

 

區(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遍歷的方法找到的元素。取而代之的是,應當總是在一個選擇器后面直接使用 .live()方法。

(3)當一個元素采用live方法進行事件的綁定的時候,如果想阻止事件的傳遞或冒泡,就要在函數中return false,僅僅調用stopPropagation()是無法實現阻止事件的傳遞或者冒泡的

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 图片| 青州市| 仲巴县| 章丘市| 赣榆县| 临夏县| 澄城县| 永平县| 华蓥市| 从江县| 河东区| 于都县| 临沭县| 鲜城| 闵行区| 潮州市| 威海市| 滕州市| 天台县| 玉田县| 阳朔县| 东台市| 定州市| 南雄市| 北安市| 彭山县| 云和县| 临海市| 东兴市| 固原市| 宁阳县| 定襄县| 榆树市| 双峰县| 安化县| 牡丹江市| 二连浩特市| 桃园市| 珠海市| 凤庆县| 博客|