我正在使用JavaScript。大多數情況下,我已經可以添加事件監聽器了,但是對於我動態生成的div,無論發生什麼事件,都沒有發生。該代碼是:事件將不會被添加到動態創建的div
for(var i=0; i<sceneNumber; i++){
var a=i;
if(i>2)
a=i%3;
sceneArray[i]=document.createElement('div');
sceneArray[i].className="border"+a;
if(i%2==1)
sceneArray[i].style.left=0;
else
sceneArray[i].style.left=(i+1)*100;
sceneArray[i].style.top = i*100+100;
sceneArray[i].onclick= function(){console.log("fire212");
if(extend1){
console.log("scenelistener");
currentArrow.rotate(degrees);
currentArrow.scale(desiredLength/arrowLength,1);
}
};
console.log(sceneArray[i].onclick);
document.getElementsByTagName('body')[0].appendChild(sceneArray[i]);
sceneArray[i].style.zIndex = -1;
console.log(sceneArray[i]);
}
正如你可以看到我至少應該得到「fire212」在控制檯但即使這不會發生。可能會出現什麼問題?
我會檢查出來,感謝您的幫助。如果有效,我會盡快回復你(還有其他一些事情要做)。 – ameltz 2011-12-24 17:21:24
似乎沒有工作。同樣如你所見,我在添加事件監聽器之前生成了div,所以問題不在於我添加了一個事件監聽器給一個還不存在的事物,而是我生成的div似乎並不想要服從事件監聽者 – ameltz 2011-12-24 20:04:48
事實證明,我沒有給你們足夠的信息,我還加了一個raphael對象,並且divs在它後面,所以他們不能被點擊。 – ameltz 2011-12-24 22:14:25