我有這樣的代碼:addEventListener,for(),索引。如何使用閉包?
var items = this.llistat.getElementsByTagName('a');
for(var i = 0; i < items.length; i++){
items[i].addEventListener('click', function(event) {
alert(i);
}, items[i]);
}
該事件是聽了,但也有3
項目和警報上的任何元素(它不尊重指數)的打印永諾3
,
Dosen't items[i]
不應該作爲關閉工作嗎?
謝謝!
的第三個參數['addEventListener' ](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener)是一個布爾值,指示事件偵聽器是否獲得捕獲優先級(例如,使其可取消);它沒有指定一個'this'值。 – apsillers
還相關,[Javascript臭名昭着的循環問題?](http://stackoverflow.com/questions/1451009/javascript-infamous-loop-problem)。 –