Answer
Event delegation is a pattern where an ancestor listener handles events from descendant targets.
• It commonly relies on event bubbling.
• The listener inspects event.target or uses closest to identify the relevant descendant.
• It reduces repeated listeners but requires careful target checks.
Example
Code
list.addEventListener('click', event => {
const button = event.target.closest('button[data-id]');
if (button && list.contains(button)) console.log(button.dataset.id);
});Quick Revision
Delegation uses an ancestor listener to handle matching descendant events.