我想添加一個事件監聽器給我在循環中生成的一些元素。我必須使用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