裏面的事件監聽器,你可以使用this
來指代當前按鈕:
for (var i=0; i<5; i++) {
button[i].addEventListener('click', function(e) {
alert(this); // <-- This inside the event listener = current button
});
}
另一種方法是包裝在一個封閉的循環體,並創建一個局部變量:
for (var i=0; i<5; i++) {
(function(button) { // <--- Local variable
button.addEventListener('click', function(e) {
alert(button);
});
})(button[i]); // <-- Pass button
}
除了在每個循環中構造一個新函數外,還可以在循環外創建一個命名函數:
function createButtonEvent(button) {
button.addEventListener('click', function(e) {
alert(button);
});
}
for (var i=0; i<5; i++) {
createButtonEvent(button[i]);
}
哪種方法與Java,C++,Objective C,Perl,Phython中的函數格式最相似? – 2012-02-22 17:06:07