Nodette saysEvents bubble up the DOM tree — delegation uses this to handle many children with one listener.
A click on a child fires on it, then "bubbles" up through ancestors (capturing goes the other way first). Event delegation exploits this: put one listener on a parent and check event.target to handle any child — even ones added later. It's efficient and the standard pattern for lists and dynamic UIs.
Power-ups you unlock
Events bubble child → ancestors
Capturing phase runs top → down first
Delegation: one parent listener for many children
Works for dynamically-added elements too
The Event Bubbler attacks — common mistakes
A listener per item instead of one delegated parent