javascript循環(huán)變量注冊dom事件 之強大的閉包
更新時間:2010年09月08日 11:26:07 作者:
是在循環(huán)過程過this被改變,注冊過的事件也被隨之改變,找到了一種解決方法
今天遇到了這個問題:
//偽代碼
for (var i=0; i<n; i++) {
addEvent(obj[i], "click", func(i));
}
結果出現(xiàn)了問題,所有的dom都被注冊了 i=n 的時候的事件,查了一些資料,說是在循環(huán)過程過this被改變,注冊過的事件也被隨之改變,找到了一種解決方法;
for (var i=0; i<n; i++) {
(function (i){addEvent(obj[i], "click", function (){func(i);});})(i);
}
利用必包保持對變量的持久引用,很強大的說!
(如果您有更好的方法,請不吝賜教(*^__^*) 嘻嘻……)
復制代碼 代碼如下:
//偽代碼
for (var i=0; i<n; i++) {
addEvent(obj[i], "click", func(i));
}
結果出現(xiàn)了問題,所有的dom都被注冊了 i=n 的時候的事件,查了一些資料,說是在循環(huán)過程過this被改變,注冊過的事件也被隨之改變,找到了一種解決方法;
復制代碼 代碼如下:
for (var i=0; i<n; i++) {
(function (i){addEvent(obj[i], "click", function (){func(i);});})(i);
}
利用必包保持對變量的持久引用,很強大的說!
(如果您有更好的方法,請不吝賜教(*^__^*) 嘻嘻……)
您可能感興趣的文章:
- Javascript DOM事件操作小結(監(jiān)聽鼠標點擊、釋放,懸停、離開等)
- JavaScript DOM事件(筆記)
- JavaScript call apply使用 JavaScript對象的方法綁定到DOM事件后this指向問題
- JS對象與JSON互轉(zhuǎn)換、New Function()、 forEach()、DOM事件流等js開發(fā)基礎小結
- 關于javascript DOM事件模型的兩件事
- 談談我對JavaScript DOM事件的理解
- 深入理解JS DOM事件機制
- 理解javascript中DOM事件
- js中DOM事件綁定分析
- js實現(xiàn)QQ面板拖拽效果(慕課網(wǎng)DOM事件探秘)(全)
- JavaScript將DOM事件處理程序封裝為event.js 出現(xiàn)的低級錯誤問題
- js DOM的事件常見操作實例詳解
相關文章
身份證號碼前六位所代表的省,市,區(qū), 以及地區(qū)編碼下載
身份證號碼前六位所代表的省,市,區(qū), 以及地區(qū)編碼下載...2007-04-04JavaScript錯誤處理之分析 Uncaught(in promise) error的
在開發(fā)過程中,JavaScript的錯誤處理是一個老生常談的話題,當應用程序發(fā)生未捕獲的異常時,Uncaught(in promise) error是其中最常見的錯誤類型,這篇文章將從多個方面詳細闡述這種錯誤類型的原因與解決方案,感興趣的朋友一起看看吧2023-12-12在JavaScript中對HTML進行反轉(zhuǎn)義詳解
下面小編就為大家?guī)硪黄贘avaScript中對HTML進行反轉(zhuǎn)義詳解。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05JavaScript實現(xiàn)頁面5秒后自動跳轉(zhuǎn)的方法
這篇文章主要介紹了JavaScript實現(xiàn)頁面5秒后自動跳轉(zhuǎn)的方法,涉及javascript遞歸調(diào)用與計時函數(shù)setTimeout的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04基于Bootstrap使用jQuery實現(xiàn)簡單可編輯表格
這篇文章主要介紹了基于Bootstrap使用jQuery實現(xiàn)簡單可編輯表格的相關資料,需要的朋友可以參考下2016-05-05