次のJavaスクリプトスニペットがあります
<script>
var editables = document.getElementsByClassName("canEdit");
function editHandler(el) {
return function() {
window.alert(el.textContent);
}
}
for (var i = 0; i < editables.length; i++) {
var el = editables[i];
el.onclick = editHandler(editables[i]);
}
</script>
行をコメントアウトするvar el = editables[i];
と、編集可能な要素をクリックしてもアラートがポップアップしなくなります。これはなぜですか?