mediumFrontend

What is event delegation?

814 views
01

Understand the problem

Explain delegation.

event-delegation
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

One delegated listener on the parent
const list = document.querySelector("#todo-list");

// ONE listener handles clicks from any <li>, current or future
list.addEventListener("click", (e) => {
  const item = e.target.closest("li");   // works even if a child was clicked
  if (!item || !list.contains(item)) return;
  console.log("clicked item:", item.dataset.id);
});

// Adding items later needs NO new listeners:
list.insertAdjacentHTML("beforeend", '<li data-id="99">New</li>');

// target = what was clicked; currentTarget = the <ul> the listener is on
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.