JavaScript - Bubbling, Capturing, Delegation

Overview

Estimated time: 15–20 minutes

Event bubbling and capturing define how events propagate through the DOM. Delegation allows efficient event handling for dynamic content.

Learning Objectives

  • Understand event propagation phases: bubbling and capturing.
  • Implement event delegation for scalable event handling.

Prerequisites

Event Bubbling & Capturing

element.addEventListener('click', handler, true); // capturing
// ...
element.addEventListener('click', handler, false); // bubbling

Event Delegation

document.getElementById('list').addEventListener('click', function(event) {
  if (event.target.tagName === 'LI') {
    alert('Clicked: ' + event.target.textContent);
  }
});

Common Pitfalls

  • Not all events bubble (e.g., blur, focus).

Summary

Mastering event propagation and delegation is key to advanced DOM scripting.