JavaScript 루프에서 이벤트 핸들러 작업: 고유한 이벤트 처리를 위한 클로저 사용
JavaScript에서 HTML 코드로 작업할 때 이벤트 핸들러는 재생됩니다. 웹 페이지와 사용자 상호 작용을 활성화하는 데 중요한 역할을 합니다. 그러나 이러한 이벤트 핸들러가 루프 내에 정의되면 일반적인 문제가 발생하여 예기치 않은 동작이 발생합니다.
이 문제를 설명하려면 다음 코드 조각을 고려하세요.
<code class="javascript">var blah = xmlres.getElementsByTagName('blah');
for(var i = 0; i < blah.length; i++) {
var td = document.createElement('td');
var select = document.createElement('select');
select.setAttribute("...", "...");
select.onchange = function() {
onStatusChanged(select, callid, anotherid);
};
td.appendChild(select);
}
onchange가 이벤트는