Event Delegation Pattern
Attaching a single event listener to a common ancestor instead of many listeners on individual children, relying on event bubbling.
Event delegation is a practical pattern built directly on event bubbling: instead of attaching a separate event listener to every individual child element (especially ones that might not exist yet, or that get added/removed dynamically), you attach one listener to a shared, stable ancestor, and inspect event.target inside that single handler to figure out which specific descendant actually triggered it. This is one of the most practically useful patterns in everyday frontend work, and it's a natural interview follow-up once bubbling is understood.
Event delegation is like a single receptionist at a building's front desk handling every visitor's request instead of stationing a separate employee at every single office door — when someone shows up, the receptionist just checks which office they're actually asking about (event.target.closest) rather than needing dedicated staff hired and fired every time an office opens or closes.