jQuery實(shí)現(xiàn)在新增加的元素上添加事件方法案例分析
本文實(shí)例講述了jQuery實(shí)現(xiàn)在新增加的元素上添加事件方法。分享給大家供大家參考,具體如下:
最近項(xiàng)目組需要在新增的元素上增加時(shí)間,有人說(shuō)用live方法后來(lái)使用的時(shí)候發(fā)現(xiàn)jQuery沒(méi)有該方法(1.7以上就沒(méi)了)替換為on
除了jquery api官方的例子外還有以下的例子可以在新增的元素上添加事件
$(document).on("click",'#lyysb a',function(){
if(!$(this).hasClass('cur')){
$(this).addClass('cur');
} else {
$(this).removeClass('cur');
}
});
但是把事件綁定在docunmet就和原來(lái)的live方法沒(méi)有區(qū)別了。原先的live()方法,處理函數(shù)是默認(rèn)綁定在document對(duì)象上不能變的,如果DOM嵌套結(jié)構(gòu)很深,事件冒泡通過(guò)大量祖先元素會(huì)導(dǎo)致較大的性能損失。而使用.on()方法,事件只會(huì)綁定到$()函數(shù)的選擇符表達(dá)式匹配的元素上,因此可以精確地定位到頁(yè)面中的一部分,而事件冒泡的開(kāi)銷(xiāo)也可以減少。
<div id="zkdiv"> <input type="button" value="展開(kāi)" id="zk" class="zk"/> <br> </div>
例如我會(huì)在zkdiv中動(dòng)態(tài)添加多個(gè)class="zk"的dom節(jié)點(diǎn),也想對(duì)動(dòng)態(tài)增加的節(jié)點(diǎn)綁定相同的事件則可以通過(guò)以下代碼實(shí)現(xiàn)
//展開(kāi)按鈕點(diǎn)擊觸發(fā)事件
$("#zkdiv").on("click",".zk",function(){
console.log("on 點(diǎn)擊一次");
});
var html2 = "<input type='button' class='zk' value='新生成的展開(kāi)' />";
$("#zkdiv").append(html2);
這樣一來(lái)處理函數(shù)就綁定到#zkdiv的選擇器上去了,事件冒泡導(dǎo)致的性能損失會(huì)大大降低(使用該方法時(shí)要確保.on前面的選擇器能選擇到對(duì)象 否則不起作用)
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jQuery常見(jiàn)事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jquery移除、綁定、觸發(fā)元素事件使用示例詳解
- jQuery給動(dòng)態(tài)添加的元素綁定事件的方法
- jQuery動(dòng)態(tài)添加的元素綁定事件處理函數(shù)代碼
- jQuery 判斷元素上是否綁定了事件
- jQuery中對(duì)未來(lái)的元素綁定事件用bind、live or on
- jQuery 綁定事件到動(dòng)態(tài)創(chuàng)建的元素上的方法實(shí)例
- jquery動(dòng)態(tài)添加元素事件失效問(wèn)題解決方法
- JQuery1.8 判斷元素是否綁定事件的方法
- jquery用data方法獲取某個(gè)元素上的事件
- iframe里面的元素觸發(fā)父窗口元素事件的jquery代碼
- JQuery為頁(yè)面Dom元素綁定事件及解除綁定方法
相關(guān)文章
Jquery+Ajax+PHP+MySQL實(shí)現(xiàn)分類(lèi)列表管理(上)
本文將采用Jquery+Ajax+PHP+MySQL來(lái)實(shí)現(xiàn)一個(gè)客戶分類(lèi)列表的管理,如何利用Ajax和Json技術(shù)讓用戶操作起來(lái)覺(jué)得更輕松,感興趣的小伙伴們可以參考一下2015-10-10
jQuery動(dòng)畫(huà)效果實(shí)現(xiàn)圖片無(wú)縫連續(xù)滾動(dòng)
這篇文章主要為大家介紹了jQuery動(dòng)畫(huà)效果實(shí)現(xiàn)圖片無(wú)縫連續(xù)滾動(dòng),實(shí)現(xiàn)類(lèi)似連續(xù)不間斷的滾動(dòng)廣告位,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01
jQuery插件fullPage.js實(shí)現(xiàn)全屏滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了jQuery全屏滾動(dòng)插件fullPage.js的使用方法,可制作全屏滾動(dòng)網(wǎng)頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
將form表單通過(guò)ajax實(shí)現(xiàn)無(wú)刷新提交的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇將form表單通過(guò)ajax實(shí)現(xiàn)無(wú)刷新提交的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
jquery ajax傳遞中文參數(shù)亂碼問(wèn)題及解決方法說(shuō)明
本篇文章主要是對(duì)jquery ajax傳遞中文參數(shù)亂碼問(wèn)題及解決方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
EasyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼
今天做項(xiàng)目的時(shí)候,想在easyui的datagrid每一列數(shù)據(jù)后邊都加上一個(gè)操作按鈕,怎么實(shí)現(xiàn)此功能呢?下面小編給大家?guī)?lái)了EasyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼,需要的朋友參考下吧2017-08-08
jQuery leonaScroll 1.1 自定義滾動(dòng)條插件(推薦)
這篇文章主要介紹了jQuery leonaScroll 1.1 自定義滾動(dòng)條插件(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
$號(hào)是jQuery“類(lèi)”的一個(gè)別稱,$()構(gòu)造了一個(gè)jQuery對(duì)象。所以,“$()”可以叫做jQuery的構(gòu)造函數(shù)(個(gè)人觀點(diǎn),呵呵?。?/div> 2009-12-12
jQuery插件boxScroll實(shí)現(xiàn)圖片輪播特效
本文給大家分享的是使用jQuery插件Boxscroll來(lái)實(shí)現(xiàn)簡(jiǎn)單的圖片輪播特效的代碼,非常簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-07-07最新評(píng)論

