我在循環多個元素,我也想分配一個onclick事件處理程序。在onclick事件處理程序循環中設置當前元素
問題是,發送到goTo函數(事件處理程序)的元素始終是循環中的最後一個元素。我究竟做錯了什麼?
var navLinks = document.getElementsByClassName('navigation');
for (var i = 0; i < navLinks.length; i++) {
var navLink = navLinks[i];
navLink.onclick = function() { goTo.call(navLink); }
}
我知道這是舊的,但解決方案是*不*要「添加閉包」。該解決方案因爲一個函數被*執行*而起作用,從而創建一個新的範圍。函數是否是閉包是無關緊要的。 –