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

Custom events

Fiszki IT
Fiszki IT
+1 głos
97 wizyt
pytanie zadane 18 lipca 2019 w JavaScript przez Bakr Mądrala (6,880 p.)

Próbuje tworzyć własne eventy w JS.

 

const cookiesAccepted = createEvent('cookies.accepted')

W jaki sposób je wykorzystywać?

if (getCookie('isVisited') !== 'true') {
      console.log('first visit')

      setCookie('isVisited', 'true', 365)
      components[i].dispatchEvent(firstVisit)
    } else {
      console.log('another visit')
      components[i].dispatchEvent(anotherVisit)
    }

    components[i].addEventListener('cookies.firstVisit', () => {
      console.log('qwe')
    })

    components[i].addEventListener('cookies.anotherVisit', (event) => {
      console.log('qwe')
    }, false)

W miejscu, gdzie jest addEventListener nie nastepuje żadna akcja.

komentarz 18 lipca 2019 przez michal_php Stary wyjadacz (13,570 p.)
A nie wywala Ci jakiś błędów w konsoli ?
komentarz 18 lipca 2019 przez Bakr Mądrala (6,880 p.)
Właśnie w tym problem, że nie.
komentarz 18 lipca 2019 przez michal_php Stary wyjadacz (13,570 p.)

to jest przykładowa budowa addeventlisner:

el.addEventListener("click", modifyText, false);

Brakuje u Ciebie typu , który mówi jak ma się wykonać czy np:onclick czy np.change 

komentarz 18 lipca 2019 przez ScriptyChris Mędrzec (164,920 p.)

@Bakr, Czym są zmienne firstVisit i anotherVisit oraz funkcja createEvent?

komentarz 18 lipca 2019 przez Bakr Mądrala (6,880 p.)

Zmienne firstVisit i anotherVisit są po prostu eventami, a createEvent to helper, który je tworzy.

Doszedłem do momentu, gdzie wszystko działa, ale dopiero w setTimeout albo np. fetch...

komentarz 18 lipca 2019 przez ScriptyChris Mędrzec (164,920 p.)
Pokaż aktualny kod - najlepiej cały.
komentarz 18 lipca 2019 przez Bakr Mądrala (6,880 p.)
komentarz 18 lipca 2019 przez ScriptyChris Mędrzec (164,920 p.)

Nie uruchamiałem kodu, ale obstawiam, że działa dopiero z setTimeout, bo najpierw dispatchujesz event, a dopiero później podpinasz listener. Zamień kolejność.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 1 grudnia 2016 w PHP przez Assasz Nałogowiec (30,540 p.)
0 głosów
2 odpowiedzi 254 wizyt
pytanie zadane 18 października 2016 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 93 wizyt
pytanie zadane 8 grudnia 2016 w JavaScript przez hoktaur Pasjonat (22,330 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

84,835 zapytań

133,644 odpowiedzi

296,137 komentarzy

56,080 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...