我正在嘗試製作一個網站。我把的addEventListener更多的元素在函數調用多次:Javascript:我可以避免關閉嗎?
idImag = 0;
function function1()
{
//do something
function2()
}
function function2()
{
//do something
document.getElementById("holder" + idImag).addEventListener('mouseover',function(){
idImag++;
alert('It works');
}
function3(event)
{
alert(3);
}
function1();
function1();
<div id="holder0">Dog</div>
<div id="holder1">Chicken</div>
<div id="holder2">Cow</div>
但有一個問題:只有最後一個元素得到事件偵聽器......別人把鼠標在它以後什麼也不做。 然後我google了一下,發現了關閉和變量如何保存,即使函數返回後...我不明白一切,但我只想了解如何將事件偵聽器放在function2中。你可以幫我嗎? 可能你注意到了:我是新手。對不起,如果問題很愚蠢或者沒有意義。如果你需要更多的細節,我會把我的整個代碼,但它有變量和羅馬尼亞語的評論,所以我不知道你是否會理解它。對不起,我的英語不好,並提前謝謝你。
是的,你應該添加更多的代碼。您當前的代碼不會顯示有關事件處理程序的任何問題。 –
代碼似乎已被切斷,你可以發佈你在addEventListener調用中給出的事件處理函數嗎? – nkassis
看起來應該可以工作。也許你需要'var idImag = 0;'頂部?不要說'var'應該只是指'window.idImg',所以你可以使用該引用,並確保'window.idImg'正在遞增 –