javascript - 事件中的列印循環變數的值時,為什麼是固定值。
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-28 09:29:09
0
3
831

## 雷雷

女神的闺蜜爱上我
女神的闺蜜爱上我

全部回覆(3)
某草草

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或拼接字串

仅有的幸福

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!