jQuery使用bind動態(tài)綁定事件無效的處理方法
最近在進(jìn)行頁面開發(fā),在做頁面特效的時候,需要給一個動態(tài)加載的按鈕賦予一個事件
于是不假思索的 用$(obj).bind();
來綁定事件 。
但是這樣存在一個問題:
bind
確實(shí)能綁定事件,但是那是相對于固定的html標(biāo)簽來說
當(dāng)頁面內(nèi)容屬于動態(tài)加載的時候,bind事件就存在一個bug, 只能bind一次,當(dāng)你第二次觸發(fā)事件的時候就沒用了
例如:
我給<a>
標(biāo)簽賦予一個click
, <a>標(biāo)簽包括內(nèi)容都是從后臺數(shù)據(jù)讀取然后動態(tài)加載的。當(dāng)我使用bind
來綁定click
事件,這時, 第一次點(diǎn)擊click
能成功觸發(fā)
但是第二次點(diǎn)擊,click
事件無效了.
后面研究發(fā)現(xiàn),jQuery還有個綁定事件的方法:delegate()
; 用法如下:
$(".sentnum-box").delegate(".a-add-ordergoods","click",function(){ //js數(shù)據(jù)代碼 });
這樣就能實(shí)現(xiàn)對動態(tài)數(shù)據(jù)綁定事件,并永不失效
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
JQuery中attr屬性和jQuery.data()學(xué)習(xí)筆記【必看】
下面小編就為大家?guī)硪黄狫Query中attr屬性和jQuery.data()學(xué)習(xí)筆記【必看】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-05-05遠(yuǎn)離JS災(zāi)難css災(zāi)難之 js私有函數(shù)和css選擇器作為容器
當(dāng)一個項(xiàng)目龐大到一定階段,例如UI展示層采用了模塊化模板化之后,就會出現(xiàn)js災(zāi)難,css災(zāi)難,經(jīng)常出現(xiàn)以前從來不放在一起的兩個js或css莫名奇妙的被放到了一個頁面,基本的原因是模塊重用造成的2011-12-12jQuery插件開發(fā)的五種形態(tài)小結(jié)
這篇文章主要介紹了jQuery插件開發(fā)的五種形態(tài)小結(jié),具體的內(nèi)容就是解決javascript插件的8種特征,非常的詳細(xì),這里推薦給小伙伴們。2015-03-03jsonp跨域請求數(shù)據(jù)實(shí)現(xiàn)手機(jī)號碼查詢實(shí)例分析
這篇文章主要介紹了jsonp跨域請求數(shù)據(jù)實(shí)現(xiàn)手機(jī)號碼查詢的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jsonp跨域請求數(shù)據(jù)的原理與查詢號碼的應(yīng)用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12