<div onclick="alert(1)"></div>- toto není úplně šťastný způsob, nemůžu přidat více funkcí, které budou na tomto eventu
- je lepší to přidávat ve skriptu
div.addEventListener('click', funkce)div.removeEventListener('click', funkce)- ta funkce nemůže být anonymní, abych ji mohl smazat (a tedy porovnávat), tak musí mít stejnou referenci (viz porovnávání objektů (=funkcí)) v JS
.dispatchEvent()
- lze “emitovat” nějaký Event
div.dispatchEvent(new Event('click'));
.addEventListener má ještě 3. parametr → bool true/false
- podle toho, jestli chci daný Event spouštět v Capturing fázi (která jde o parenta k childu a spouští se jako první) nebo v Bubbling fázi (od childa k parentovi)
- viz: https://javascript.info/bubbling-and-capturing

e.stopPropagation()- zastaví propagaci eventu v daném směru
div.addEventListener('click', (event) => {
console.log(event.target); // nejvic inner child, na kterem byl event spusteny
console.log(event.currentTarget);
})e.preventDefault()