Pixel Pete saysaddEventListener is the modern way — many handlers, fine control, clean removal.
el.addEventListener("click", fn, options) attaches a handler without overwriting others — you can add several. Remove with removeEventListener (same function reference required). Options like { once: true }, { passive: true }, and { capture: true } tune behavior. This is the standard for all event wiring today.
Power-ups you unlock
Many handlers per event, no overwrite
removeEventListener needs the same fn reference
Options: once, passive, capture
The standard for all event wiring
Quirks Mode attacks — common mistakes
Anonymous fn that can’t be removed later
Re-adding without removing (duplicate handlers)
Forgetting passive:true for scroll/touch perf
Boss battleAttach two click handlers to one button and confirm both fire.