3. előadás - Események
Központban az esemény kezelő, handler
addEventListener() removeEvenetListener()
Esemény típusok
click: egérkattintásmousemove: egérmozgatásmousedown: egér gombjának lenyomásamouseup: egér gombjának felenegedéseinput: input mező értékének megváltozásakeydown: billentyűzet gombjának lenyomásakeyup: billentyűzet gombjának felengedésekeypress: billentyűzet gombjának megnyomásasubmit: űrlap elküldésescroll: görgetés az oldalon
Opciók
- once: csak egyszer fusson le
- capture:
- passive: nincs preventDefault()
Esemény buborékozás
Az esemény felbuborékozódik. Ha egy leszármazottal történik valami akkor a szülő is megkapja az eseményt.
Az eseményt kiváltó objektum: e.target
"A nagypapa pontosan tuni fogja hogy kit ütöttek meg"
Buborékolás megakadályozása: e.stopPropagation()
Az eseményt elég a "nagypapára" feliratkoztatni.
"A nagypapa üvölteni fog, nem csak ha az unokáit ütik meg, hanem ha a gyerekeit ütik meg. Azt is ha őt ütik meg.'
Minket csak az érdekel, ha az unokával történik valami, az nem ha a szülövel.
target.matches("li a")
Mi van ha az \(\red{\text{elem}}\) amivel dolgozni szeretnénk, nem a \(\green{\text{forrás}}\) és nem is az event \(\blue{\text{kezelője}}\) hanem a kettő között van?
Meg kell keresni a forráshoz legközelebbi megfelelő őst:
sourceElement.closest("a");