jQuery on()方法綁定動(dòng)態(tài)元素的點(diǎn)擊事件實(shí)例代碼淺析
之前就一直受這個(gè)問(wèn)題的困擾,在jQuery1.7版本之后添加了on方法,之前就了解過(guò),其優(yōu)越性高于live(),bind(),delegate()等方法,在此之前項(xiàng)目中想用這個(gè)來(lái)測(cè)試結(jié)果發(fā)現(xiàn),居然動(dòng)態(tài)生成的標(biāo)簽點(diǎn)擊了沒(méi)反應(yīng),而live方法卻能夠支持,于是乎到處查資料,問(wèn)網(wǎng)友,結(jié)果找了好久在一篇文章中終于找到了答案。。。
jQuery 使用on綁定動(dòng)態(tài)生成的元素時(shí),不能直接用該對(duì)象操作,而是選擇其非動(dòng)態(tài)生成的父節(jié)點(diǎn)然后再找到本身才能達(dá)到效果。大家看看源碼就知道了。生成的按鈕基數(shù)項(xiàng)on方法點(diǎn)擊無(wú)效live方法有效。
比如頁(yè)面上有下邊兩個(gè)元素:
<input type="button" name="addbtn" value="按鈕添加" /> <div id="test"> </div>
使用下邊的jQuery代碼大家可以對(duì)比看看區(qū)別:
$(function () { var a = 1, $_div = $('#test'); $('input[name=addbtn]').on('click', function () { $_div.append('<input type="button" name="test' + a + '" value="按鈕' + a + '"/>'); a++; }); //偶數(shù)項(xiàng)點(diǎn)擊事件 $_div.on('click', 'input[name^=test]:even', function () { alert('我是有效的on方法,你能看見(jiàn)我嗎:' + this.value); }); //奇數(shù)項(xiàng)綁定的點(diǎn)擊事件 發(fā)現(xiàn)點(diǎn)擊無(wú)效,而是用live方法卻能夠支持 $('input[name^=test]:odd').on('click', function () { alert('我是無(wú)效的on方法,你不能看見(jiàn)我'); }); //奇數(shù)項(xiàng)綁定的點(diǎn)擊事件 發(fā)現(xiàn)點(diǎn)擊無(wú)效,而是用live方法卻能夠支持 $('input[name^=test]:odd').live('click', function () { alert('我是live方法,你能看見(jiàn)我嗎:' + this.value); }); });
以上所述是小編給大家介紹的jQuery on()方法綁定動(dòng)態(tài)元素的點(diǎn)擊事件的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
jQuery循環(huán)滾動(dòng)展示代碼 可應(yīng)用到文字和圖片上
循環(huán)滾動(dòng)展示的文字和圖片每個(gè)人都見(jiàn)過(guò),實(shí)現(xiàn)類似效果的 JS 也很多。但如果只用于幾個(gè)條目或三五張圖片,體積龐大的 JS 會(huì)浪費(fèi)資源2012-05-05來(lái)自國(guó)外的14個(gè)圖片放大編輯的jQuery插件整理
這里就是基于jQuery 的14個(gè)圖片放大編輯插件。需要的朋友可以參考下。2010-10-10Jquery動(dòng)態(tài)替換div內(nèi)容及動(dòng)態(tài)展示的方法
這篇文章主要介紹了Jquery動(dòng)態(tài)替換div內(nèi)容及動(dòng)態(tài)展示的方法,動(dòng)態(tài)替換div內(nèi)容并展示的使用技巧與注意事項(xiàng),需要的朋友可以參考下2015-01-01更高效的使用JQuery 這里總結(jié)了8個(gè)小技巧
本文和其他的介紹JQuery的方法不同,本文側(cè)重點(diǎn)是介紹一些JQuery的使用原則,以便讓JQuery代碼更高效的執(zhí)行。2016-04-04jQuery插件開發(fā)的兩種方法及$.fn.extend的詳解
jQuery插件開發(fā)分為兩種:1 類級(jí)別、2 對(duì)象級(jí)別,下面為大家詳細(xì)介紹下2014-01-01EasyUI中combobox默認(rèn)值注意事項(xiàng)
這篇文章主要介紹了EasyUI中combobox默認(rèn)值注意事項(xiàng),是個(gè)人在項(xiàng)目中遇到并解決的事宜,分享給大家,需要的朋友可以參考下2015-03-03jQuery移除tr無(wú)效的解決方法(tr是動(dòng)態(tài)添加)
移除掉某些tr(tr是動(dòng)態(tài)添加的)嘗試了很多方法,都不見(jiàn)效,后來(lái)發(fā)現(xiàn)個(gè)不錯(cuò)的方法,于是與大家分享下2014-09-09jQuery實(shí)現(xiàn)垂直半透明手風(fēng)琴特效代碼分享
這是一款jquery hover抽屜式導(dǎo)航圖片展開收縮切換特效代碼,用戶還可以自定義對(duì)應(yīng)幻燈片的標(biāo)題與文字說(shuō)明,是一款非常實(shí)用的幻燈片特效源碼。2015-08-08jquery實(shí)現(xiàn)點(diǎn)擊按鈕顯示與隱藏效果
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)點(diǎn)擊按鈕顯示與隱藏效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04