這感覺就像是一個非常基本的問題,但我似乎無法找到答案。我有一個id爲「texture-1」,「texture-2」的可點擊的svg rects數組。textureInput數組保存這些rects的getElementById,它們在click上調用changeTexture()函數。當點擊「紋理-1」時,我想要將「1」傳遞到changeTexture()函數中。傳遞給循環中的事件監聽器的值設置不起作用
手動指定這些值的工作原理:例如,
textureInput[0].addEventListener('click', function(){changeTexture("0")}, false);
textureInput[1].addEventListener('click', function(){changeTexture("1")}, false);
但在一個循環做同樣的事情不會:
for (var i=0; i<maxTextures; i++){
textureInput[i].addEventListener('click', function(){changeTexture(i)}
};
是它傳遞的則電流值「I」,在活動時間 - 這是外循環未定義?
感謝丹尼爾 - 此代碼工作。 JavaScript中沒有任何東西可以將變量轉換爲靜態值? –
@MichaelMullany不是我意識到的,這是你不得不這樣做的不幸。 –