我的代碼如何將事件添加到數組元素?
var boxes = document.getElementsByClassName("box");
for(var i=0; i<boxes.length;i++)
{
boxes[i].addEventListener("dblclick", function(e){
this.classList.add("animateSize");
this.style.width="2px";
this.style.height="2px";
window.setTimeout(2000);
});
}
最初我只有一個框,然後我創造更多的箱子,但是當我雙擊任何新創建的箱子沒有任何反應,只有當我雙擊初始框觸發事件。
我在做什麼錯?
PS。當我創建後提醒(boxes.length)時,讓我們說4盒,我得到正確的長度提醒(5 = 4 + 1的初始框)。
你知道,你的for循環只運行一次,對嗎?當頁面上'.box'元素的數量增加時,它不會重新運行。 JavaScript沒有內置的那種綁定。 – 2014-10-08 14:39:05
是的,我意識到這一點。我嘗試了一些其他的東西,但最終回到這個,因爲我不知道該怎麼做。 – ogward 2014-10-08 14:55:01