jquery bind失效的解決方法:1、建立一個HTML範例檔案;2、使用「$(".sentnum-box").delegate(".a-add-ordergoods","click", function(){...});」方法解決即可。
本文操作環境:windows7系統、jquery3.2.1版、DELL G3電腦
如何解決jquery bind失效問題?
jQuery使用bind動態綁定事件無效的處理方法
最近在進行頁面開發,在做頁面特效的時候,需要給一個動態載入的按鈕一個事件
於是不假思索的用$(obj).bind(); 來綁定事件。
但是這樣存在一個問題:
bind確實能綁定事件,但是那是相對於固定的html標籤來說
當頁面內容屬於動態載入的時候,bind事件就存在一個bug, 只能bind一次,當你第二次觸發事件的時候就沒用了
例如:
我給3499910bf9dac5ae3c52d5ede7383485標籤賦予一個click , 3499910bf9dac5ae3c52d5ede7383485標籤包括內容都是從後台資料讀取然後動態載入的。當我使用bind來綁定click事件,這時, 第一次點擊click能成功觸發
但是第二次點擊,click事件無效了.
後面研究發現,jQuery還有個綁定事件的方法:delegate();
用法如下:
$(".sentnum-box").delegate(".a-add-ordergoods","click",function(){ //js数据代码 });
這樣就能實現對動態資料綁定事件,並且永遠不會失效
推薦學習:《jquery影片教學》
以上是如何解決jquery bind失效問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!