我有一個與閉包有關的代碼有問題,我需要一些幫助。關閉問題。有小費嗎?
正如你所看到的,我在for循環中創建了幾個圖像,我分配了不同的id(即數組中的數字)。到現在爲止還挺好。當我點擊不同的圖像時,我想使用圖像id的參數調用showId函數,但問題是用作函數參數的數字總是變爲nr 8(數組中的最後一個數字)。我該如何解決這個問題?
在此先感謝。
var imageArea = document.getElementById('imageArea');
var nrArray = [1,2,3,4,5,6,7,8];
for (var i = 0; i < nrArray.length; i++){
var image = document.createElement('img');
image.src = "images/theimage.png";
image.id = nrArray[i];
imgArea.appendChild(image);
image.addEventListener ('click',function() {showId(image.id);},false);
}
我不知道如果你把image.addEventListener的imgArea.appendChild以上會發生什麼。 – Qqwy