84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
## 雷雷
onmouseover綁定的是一個事件回呼函數,只有觸發事件時才會執行該回呼函數,但在此之前循環已經結束,所以每次觸發事件得到的都是最後的值(i=5),解決此問題可以採用IIFE(立即執行函數),如下
for (var i = 0,len = li.length; i < len; i++){ li[i].index = i; // do something... li[i].onmouseover = (function (index){ console.log(index); })(i) console.log(i); }
沒看錯的話,後面那個i變數已經在循環外,之前賦值已經被替換掉了。如果想全部存儲,請申明為json或拼接字串
雷雷
onmouseover綁定的是一個事件回呼函數,只有觸發事件時才會執行該回呼函數,但在此之前循環已經結束,所以每次觸發事件得到的都是最後的值(i=5),解決此問題可以採用IIFE(立即執行函數),如下
沒看錯的話,後面那個i變數已經在循環外,之前賦值已經被替換掉了。如果想全部存儲,請申明為json或拼接字串
雷雷