Lesson overview · Free interview practice

Event Handling

Master event handling and delegation patterns.

Topics in the full lesson
  • Introduction to Event Handling
  • Event Propagation
  • Event Delegation
  • Efficient Event Handling
  • Stopping Event Propagation
  • Event Object Properties
  • Exercises

Practice Problems

Work through a question before revealing its explanation. These questions and answers are free; Premium adds the full lesson walkthrough, examples and implementation detail.

Completion marks record your own progress, not an automatically checked result. The task type does not determine whether it is optional.

TheoryEasy

`stopPropagation` vs `stopImmediatePropagation`

Question

What's the difference between event.stopPropagation() and event.stopImmediatePropagation()? When does each one come up?

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

TheoryMedium

Event Bubbling vs Capturing: The Three Propagation Phases

Question

How does an event propagate through the DOM? Walk through the three phases and show how to listen in each.

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

TheoryMedium

Event Delegation: How Bubbling Enables It

Question

Walk through how event delegation actually works mechanically. Show the canonical pattern with .closest(), and explain when delegation is the WRONG choice.

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

TheoryMedium

`preventDefault`: Cancelling the Browser's Default Behavior

Question

What does event.preventDefault() do, and when does it have no effect? Show three canonical use cases.

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

TheoryMedium

Custom Events with `CustomEvent` and `dispatchEvent`

Question

How do you create and dispatch a custom event? When are custom events the right tool over a callback or pub/sub library?

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

Explore the full Event Handling material

Premium includes the complete lessons and implementation references. Free practice questions remain available without a subscription.

All course tracks & premium content
From basics to advanced masterclasses
Built for JS/TS developers like you
Real-world tips & common pitfalls
Upgrade to Premium