jQuery使用bind動(dòng)態(tài)綁定事件無效的處理方法
最近在進(jìn)行頁面開發(fā),在做頁面特效的時(shí)候,需要給一個(gè)動(dòng)態(tài)加載的按鈕賦予一個(gè)事件
于是不假思索的 用$(obj).bind(); 來綁定事件 。
但是這樣存在一個(gè)問題:
bind確實(shí)能綁定事件,但是那是相對(duì)于固定的html標(biāo)簽來說
當(dāng)頁面內(nèi)容屬于動(dòng)態(tài)加載的時(shí)候,bind事件就存在一個(gè)bug, 只能bind一次,當(dāng)你第二次觸發(fā)事件的時(shí)候就沒用了
例如:
我給<a>標(biāo)簽賦予一個(gè)click , <a>標(biāo)簽包括內(nèi)容都是從后臺(tái)數(shù)據(jù)讀取然后動(dòng)態(tài)加載的。當(dāng)我使用bind來綁定click事件,這時(shí), 第一次點(diǎn)擊click能成功觸發(fā)
但是第二次點(diǎn)擊,click事件無效了.
后面研究發(fā)現(xiàn),jQuery還有個(gè)綁定事件的方法:delegate(); 用法如下:
$(".sentnum-box").delegate(".a-add-ordergoods","click",function(){
//js數(shù)據(jù)代碼
});
這樣就能實(shí)現(xiàn)對(duì)動(dòng)態(tài)數(shù)據(jù)綁定事件,并永不失效
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
JQuery textlimit 顯示用戶輸入的字符數(shù) 限制用戶輸入的字符數(shù)
顯示用戶輸入的字符數(shù) 限制用戶輸入的字符數(shù)的實(shí)現(xiàn)方法。2009-05-05
基于jquery實(shí)現(xiàn)的圖片在各種分辨率下未知的容器內(nèi)上下左右居中
這篇文章主要介紹了基于jquery實(shí)現(xiàn)的圖片在各種分辨率下未知的容器內(nèi)上下左右居中的方法,需要的朋友可以參考下2014-05-05
jquery對(duì)象和DOM對(duì)象的區(qū)別介紹
jquery對(duì)象和DOM對(duì)象在使用過程很頻繁,正是因?yàn)槿绱?,好多朋友都不知道它們之間有什么區(qū)別,下面為大家詳細(xì)介紹下,希望對(duì)大家有所幫助2013-08-08
Jquery 組合form元素為json格式,asp.net反序列化
Jquery組合form元素為json格式,asp.net反序列化實(shí)現(xiàn)代碼,大家可以具體的看下面的說明。2009-07-07

