我想添加一个事件监听器给我在循环中生成的一些元素。我必须使用div.lastChild
- 虽然在这个例子中它非常愚蠢。但这只是示范:循环内的Javascript addEventListener
<div id="someArea">
</div>
<script type="text/javascript">
var func = function() {
alert('Callback works');
}
var func1 = function() {
alert('Test');
}
var func2 = function() {
alert('Test2');
}
var div = document.getElementById("someArea");
var callbacks = [func, func1, func2];
for(var i = 0; i <= 2; i++) {
div.innerHTML += '<input type="button" value="' + i + '" />';
(function(i) {
console.log(div.lastChild);
div.lastChild.addEventListener('click', callbacks[i], false);
}(i));
}
</script>
该事件只适用于最后一个按钮。我在这里错过了什么?
非常感谢您的先生。 – grjj3 2012-03-31 00:07:16