Mam taka o to powiedzmy petle:
Kod
for(var i=0;i<button.length;i++) {
button[i].addEventListener("click",function() {
pokazGodziny(i)}, false);
}
button[i].addEventListener("click",function() {
pokazGodziny(i)}, false);
}
I problem polega na tym, że ta wartość parametru "i" która jest przekazywana jako parametr funkcji pokazGodziny przy wywołaniu zdarzenia jest zawsze taka sama. Czyli jak mam powiedzmy 5 buttonow to na który bym nie kliknął zawsze dostaje wartość parametru i=4. Podejrzewam, że problem jest w tym, że w momencie wywolania zdarzenia pętla już jest wykonana i parater przyjmuje ta ostatnią wartość.Ma ktoś może pomysł jak sobie z tym poradzić??
PS.
Jakby ktoś miał podobny problem to ja sobie z tym poradzilem w ten sposób, że zamiast przekazywać argument przez funkcje stworzyłem sobie nową właściwość dla każdego obiektu do której przypisałem wartość zmiennej "i" w pętli.np.
Kod
for(var i=0;i<button.length;i++) {
button[i].myId=i;
button[i].addEventListener("click", pokazGodziny, false);
}
button[i].myId=i;
button[i].addEventListener("click", pokazGodziny, false);
}