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

Ponowne użycie EventListener, gdy jest on już dodany.

+1 głos
372 wizyt
pytanie zadane 26 stycznia 2016 w JavaScript przez ScriptyChris Mędrzec (190,190 p.)

W jaki sposób użyć ponownie EventListenera, zamiast go dodawać, gdy jest on już stworzony?

Gdy kliknę kilka razy w pierwszy select, to tyle razy dodaje się EventListener do zmiennej b. Efekt jest taki, że gdy wybiorę inną opcję z drugiego select to wyświetla się tyle razy, ile kliknąłem w pierwszego select.

W jaki sposób mogę sprawdzić, czy zmienna b masz już EventListener, aby nie dodawać go kilka razy?

Kod i demo na JSFiddle https://jsfiddle.net/Chriss92/u4yrypug/

4 odpowiedzi

+2 głosów
odpowiedź 26 stycznia 2016 przez Comandeer Guru (607,330 p.)
wybrane 9 marca 2016 przez ScriptyChris
 
Najlepsza

Są co najmniej dwa rozwiązania:

  • przypiąć zdarzenia raz, przy inicjalizacji skryptu
  • zastosować event delegation

Ogólnie nie widzę powodu, dla którego przypinasz zdarzenie w tak śmieszny sposób, jak obecnie.

+1 głos
odpowiedź 26 stycznia 2016 przez Sprytnykrzys Gaduła (3,900 p.)
W momencie dodawania ustaw sobie jakąś flagę, którą możesz potem sprawdzać - tak chyba najprościej
+1 głos
odpowiedź 26 stycznia 2016 przez Schizohatter Nałogowiec (39,600 p.)
.removeEventListener przy każdym przypisaniu

lub jeśli używasz jQ możesz użyć .one()
0 głosów
odpowiedź 26 stycznia 2016 przez Magicone Nałogowiec (45,100 p.)
> Gdy kliknę kilka razy w pierwszy select, to tyle razy dodaje się EventListener do zmiennej b.

Robisz to źle.
komentarz 26 stycznia 2016 przez ScriptyChris Mędrzec (190,190 p.)
Źle, że klikam? Nie rozumiem.
komentarz 26 stycznia 2016 przez Magicone Nałogowiec (45,100 p.)
W zasadzie nie tyle nie można tak robić, co po prostu nie powinno dodawać zbędnych listenerów. Przy chwilce rzucę na to okiem, bo wydaje mi się, że można to fajniej rozwiązać.

Podobne pytania

0 głosów
1 odpowiedź 313 wizyt
pytanie zadane 21 czerwca 2019 w JavaScript przez 42savage Bywalec (2,630 p.)
0 głosów
1 odpowiedź 194 wizyt
pytanie zadane 20 czerwca 2017 w JavaScript przez Radekol Bywalec (2,880 p.)
+1 głos
1 odpowiedź 221 wizyt

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. 2459p. - CC PL
  9. 2184p. - Maurycy W
  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
...