JavaScript動態(tài)加載重復(fù)綁定問題
前言
在添加一條數(shù)據(jù)時(shí),使用動態(tài)加載顯示在界面,后來發(fā)現(xiàn)一個(gè)嚴(yán)重的bug,拿我做的這個(gè)便簽為例,當(dāng)我添加一條數(shù)據(jù)后,然后點(diǎn)擊刪除的時(shí)候,提示是否刪除,如下圖:
但是當(dāng)我添加兩條以上的數(shù)據(jù)時(shí),刪除第幾條就會提示幾次是否確認(rèn)刪除。
經(jīng)過排查,終于發(fā)現(xiàn)問題所在。
正文
當(dāng)動態(tài)添加內(nèi)容后,通常會寫上添加的這些div中需要用到的事件,比如click事件/chang事件等。還拿我的刪除事件為例,由于刪除事件必須寫在添加便簽的事件下,所以當(dāng)添加第一條數(shù)據(jù)時(shí),綁定一次,添加第二條時(shí),綁定一次,添加第n條數(shù)據(jù)時(shí),已經(jīng)綁定了n次刪除事件,所以在刪除第n條數(shù)據(jù)時(shí),也就會提示n次是否確認(rèn)刪除。
既然找到了錯誤的原因,就好解決了,在綁定刪除事件前,只要把上次綁定的事件解綁就可以了。
代碼:
//解綁 $(".deletebtn").off("click"); $(".update").off("change"); //綁定 $(".deletebtn").bind('click', delete_click); $(".update").bind('change', change_fonts);
總結(jié)
以上所述是小編給大家介紹的JavaScript動態(tài)加載重復(fù)綁定問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會
及時(shí)回復(fù)大家的!
相關(guān)文章
詳解CocosCreator項(xiàng)目結(jié)構(gòu)機(jī)制
這篇文章主要介紹了詳解CocosCreator項(xiàng)目結(jié)構(gòu)機(jī)制,只有了解這些機(jī)制后,才能更好的進(jìn)行項(xiàng)目開發(fā),避免潛在錯誤,并且快速的除錯2021-04-04TypeScript新特性之using關(guān)鍵字的使用方法
TypeScript 5.2版本中新添加了using關(guān)鍵字,目前該關(guān)鍵字的提案也進(jìn)入了ECMAScript的Stage 3,也就是說很快就會進(jìn)入JavaScript語言本身中,using和const, let和var一樣都是用于變量聲明的,那么它到底有什么與眾不同的地方呢,本文給大家介紹的非常詳細(xì)2023-11-11element-ui?對話框dialog使用echarts報(bào)錯'dom沒有獲取到'的問題
這篇文章主要介紹了element-ui?對話框dialog里使用echarts,報(bào)錯'dom沒有獲取到'的問題,在這個(gè)事件里邊進(jìn)行echarts的初始化,執(zhí)行數(shù)據(jù),本文結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-11-11