Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] addEventListener w pętli, Problem z przekazaniem argumentu funkcji
conmar
post 29.12.2008, 10:26:27
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 29.12.2008

Ostrzeżenie: (0%)
-----


Witam,

Mam taka o to powiedzmy petle:
Kod
         for(var i=0;i<button.length;i++) {
             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);
         }


Ten post edytował conmar 29.12.2008, 11:43:48
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 21:20