因此,我正在構建一個由可打開的部分組成的遊戲。我需要一個事件監聽器來處理每一個事件。有49件。這就是我計劃完成這項工作的方式:ID是box
和inventory
,+ 1
到49
。 for
循環位於頁面加載時觸發的函數內。一次添加多個eventlisteners
for(var i = 1; i < 50; i++){
document.getElementById("box" + "" + i).addEventListener('click', function(){
addImgBox(i);
});
}
for(var j = 1; j < 4; j++){
document.getElementById("inventory" + "" + j).addEventListener('click', function(){
addImgInv(j);
});
}
function addImgInv(j){
console.log(j);
$('#inventory' + '' + j).prepend('<img class="img" src=' + hero.inventory[j - 1].picture + ' />');
$("#theImg" + "" + j).addClass("img");
}
function addImgBox(i){
console.log(i);
$('#box' + '' + i).prepend('<img class="img" src=' + levelToPlay[i - 1].picture + ' />');
$("#theImg" + "" + i).addClass("img");
}
的問題是,哪一個框我點擊,它會隨時記錄50
爲i
或4
爲j
。很明顯,eventlistener
的附件不起作用。我想知道的第二件事是:即使我告訴for
循環在50
之前停止,它仍然可以達到此目的。我錯過了什麼,或者我應該做什麼改變?
p.s.語法應該是正確的。在粘貼代碼時遇到了一些麻煩。