0
Okey 그래서 다음 javaScript 코드가 있습니다.addEventListener 매개 변수 오류
function test(id)
{
alert(id);
}
var elem = document.getElementsByClassName('outsideDiv');
for(var i=0; i < elem.length; i++)
{
elem[i].addEventListener('mouseover', function(){test(i);}, false);
}
이렇게하면 클래스가있는 모든 div가 마우스 오버되지만 함수는 항상 최신 i 인덱스를 반환합니다. 이 경우 나는 5 개의 div 엘리먼트를 가지며 경고는 항상 5이다. 왜 그 이유를 설명 할 수 있습니까?
[Javascript closure inside loops - 간단한 실제 예] (http : //stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example), [악명 높은 루프 문제] (http : //stackoverflow.com/questions/1451009/javascript-infamous-loop-problem) 및 기타 수천 명 – Bergi