• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java Script. Jak użyć zmiennych w funkcji przekazanej do addEventListener ?

0 głosów
654 wizyt
pytanie zadane 13 września 2018 w JavaScript przez izonik Stary wyjadacz (12,560 p.)
edycja 13 września 2018 przez izonik

Dzień Dobry.

 

Więc tak, chcę użyć zmiennych z pętli for w funkcji przekazanej do addEventListener. Otrzymuję błąd 

TypeError: hint[i] is undefined

Więc w jaki sposób użyć tych pól w funkcji.

 

Oto kod:

var hint = [];
// Example value in hint
hint.push(document.querySelector("#move"));
// ...


for(var i = 0; i < hint.length; i++){
    
    // ...

    hint[i].addEventListener('click', function(){
        hint[i].style.display = "none";
        document.cookie = hint[i].id + "=not_available";
    });
};

 

Z góry dziękuję za wszelkie wskazówki.

 

[EDIT] Dodałem przykładową wartość tablicy.

komentarz 13 września 2018 przez ScriptyChris Mędrzec (190,190 p.)

Czegoś brakuje w pokazanym kodzie, ponieważ tablica hint jest pusta, a zatem pętla for nie wykona żadnej iteracji.

komentarz 13 września 2018 przez ScriptyChris Mędrzec (190,190 p.)

[EDIT] Dodałem przykładową wartość tablicy.

Mogłeś napisać to w komentarzu.

Której linijki dotyczy ten błąd? Czy możesz zobaczyć w konsoli zawartość tablicy hint i aktualny indeks (i) zanim wykonasz kod generujący błąd?

1 odpowiedź

0 głosów
odpowiedź 13 września 2018 przez pr0way Nałogowiec (42,220 p.)
wybrane 14 września 2018 przez izonik
 
Najlepsza
Zamiast dodawać wyciągnięty z DOM'a element do tablicy dodaj tylko nazwę elementu a wyciągaj (document.querySelector) wewnątrz pętli i powinno być ok.

https://codepen.io/r0v/pen/RYJgqG
1
komentarz 14 września 2018 przez izonik Stary wyjadacz (12,560 p.)

Nie trzeba zmieniać, tego co jest dodawane do listy. Wystarczyło użycie

this

.

komentarz 14 września 2018 przez pr0way Nałogowiec (42,220 p.)

Właściwie tak, choć z początku też nie chciało mi to chodzić ale faktycznie problemem może być this (które dodałem właściwie po to aby uprościć kod)

Podobne pytania

0 głosów
0 odpowiedzi 447 wizyt
pytanie zadane 24 stycznia 2017 w JavaScript przez niezalogowany
0 głosów
1 odpowiedź 806 wizyt
pytanie zadane 19 czerwca 2018 w JavaScript przez Wisien Nowicjusz (200 p.)
0 głosów
1 odpowiedź 308 wizyt
pytanie zadane 20 marca 2018 w JavaScript przez OdsetekGlupoty Pasjonat (15,360 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...