addEventListener fires only once

Jozdowska Edyta · 26 Grudzień 2019

1.HTML DOM

Kiedy strona jest wczytywana w przeglądarkę tworzony jest tzw. DOM czyli Document Object Model strony. O tym powinien wiedzieć każdy, który ma styczność z kodem. Zaczynając od góry tworzony jest Document<html><head><body> itd…

Dzięki DOM jesteśmy w stanie znaleźć element i poprzez js przypisać mu akcję np. click. Przypisując akcję w czystym js używamy addEventListener. To są podstawy podstaw. Podstawą jest też sposób zmiany zawartości elementu poprzez innerHTML.

2.addEventListener fires only once

Zdarzenie jakie przypisujemy elementowi będzie obowiązywać do czasu, aż zostanie on “ponownie stworzony”. I tutaj pojawiło się rozwiązanie, dlaczego mój formularz walidował się jedynie raz. Otóż zmiana elementu poprzez innerHTML realizowana jest wyrenderowaniem w danym miejscu elementu na nowo. Nowy element nie ma “zarejestrowanego” zdarzenia, które jest przypisane na samym początku, gdy ładowany jest skrypt js.

Czasem warto wrócić do podstaw, im dalej idziemy zapominamy o elementarnej wiedzy.

Jozdowska Edyta * FullStack Developer

Pisanie kodu jest moją pasją. Zajmuję się tym od przeszło 10 lat, z większą lub mniejszą intensywnością.
Piszę kod w PHP, JS, SCSS i Python. Nie stronię też od poznawania nowych, lub jak kto woli starych rozwiązań jak Jekyll oraz innych języków np. Java.

więcej o mnie