某草草2017-06-28 09:31:09
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);
}