最近在進行頁面開發,在做頁面特效的時候,需要給一個動態加載的按鈕賦予一個事件
于是不假思索的 用$(obj).bind();
來綁定事件 。
但是這樣存在一個問題:
bind
確實能綁定事件,但是那是相對于固定的html標簽來說
當頁面內容屬于動態加載的時候,bind事件就存在一個bug, 只能bind一次,當你第二次觸發事件的時候就沒用了
例如:
我給<a>
標簽賦予一個click
, <a>標簽包括內容都是從后臺數據讀取然后動態加載的。當我使用bind
來綁定click
事件,這時, 第一次點擊click
能成功觸發
但是第二次點擊,click
事件無效了.
后面研究發現,jQuery還有個綁定事件的方法:delegate()
; 用法如下:
$(".sentnum-box").delegate(".a-add-ordergoods","click",function(){ //js數據代碼});
這樣就能實現對動態數據綁定事件,并永不失效
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接
新聞熱點
疑難解答