Imagine you’re the principal of a large school. Every day, students (like buttons, links, or images on a webpage) send you notes (like “clicks” or “taps”). If you tried to handle every student’s note personally, you’d be overwhelmed. Instead, you assign one teacher per class (more like a parent container) to collect notes from their students. When a note arrives, the teacher tells you, “Someone in Class 3B sent this.” You then check who it’s from and act accordingly.
This is event delegation in JavaScript!
Event delegation is a technique in JavaScript where you assign a single event listener to a parent element (like a container, list, or table) to manage interactions with multiple child elements inside it, instead of attaching listeners to each child individually.
<div> wrapping all buttons) handles everything. Fewer listeners = better performance.2. Flexibility:
3. Simplicity:
When you click a button:
targetproperty.Imagine we want to have a to-do list where clicking on any task marks it as complete. We can do it without delegation or we can do it with delegation.
//Without Delegation (Messy)
// Add a listener to EVERY task (inefficient!)
document.querySelector("#task-1").addEventListener("click", markComplete);
document.querySelector("#task-2").addEventListener("click", markComplete);
// ...and so on for 100 tasks 😅
//With Delegation// ONE listener on the parent <ul>:
document.querySelector("#todo-list").addEventListener("click", function(event) {
// Check if a task (<li>) was clicked:
if (event.target.tagName === "LI") {
event.target.classList.add("complete"); // Mark it done!
}
}); event.target to identify the clicked element.Latest tech news and coding tips.
Download the Codeflare iOS app and learn on the Go 1. What UI and UX…
1. Running Everything as Root One of the biggest beginner errors. Many new users log…
A keylogger is a type of surveillance software or hardware that records every keystroke made…
In JavaScript, it’s commonly used for: Recursive functions (like Fibonacci) Heavy calculations Repeated API/data processing…
For years, responsive design has depended almost entirely on media queries. We ask questions like: “If…
1. What is Task Scheduling? Task scheduling is the process of automatically running commands, scripts,…