πŸš€ DOM Series Part 2: JavaScript Event Delegation – Ek Smart Tarika Jo Sabko Aana Chahiye!

Vivek varshneyVivek varshney
2 min read

✍️ By @vivekwebdev | Apni JS skills ko level-up karo smart logon ki tarah 😎


πŸ€” Kabhi socha...

"Click event har element pe lagana pade to kitna boring aur inefficient kaam ho jaata hai?"

Agar haan, to tum ready ho ek master-level JS trick seekhne ke liye:
πŸ’‘ Event Delegation


πŸ”₯ Is blog me kya milega?

  • βœ… Event Delegation kya hota hai

  • βœ… Without delegation kya dikkat hoti hai

  • βœ… event.target vs event.currentTarget

  • βœ… Real-life use-case

  • βœ… Bonus: Pro tips!


πŸ“Œ 1. Event Delegation Kya Hai?

Socho tumhare paas 100 buttons hain, sab pe same event lagana hai β€”
❌ Har button pe addEventListener?
😡 Performance kill kar doge!

βœ… Solution: Sirf ek parent element pe event listener lagao, aur bachchon ke events waha se handle karo.
Yehi hai Event Delegation.


πŸ›‘ Without Delegation – The Dard

document.querySelectorAll("li").forEach((li) => {
  li.addEventListener("click", () => {
    console.log("Clicked:", li.innerText);
  });
});

❌ Problem: Dynamically added elements par listener kaam nahi karega.


βœ… With Delegation – The Jugaad!

const ul = document.querySelector("ul");

ul.addEventListener("click", function (event) {
  if (event.target.tagName === "LI") {
    console.log("Clicked:", event.target.innerText);
  }
});

πŸ”₯ Bolo, ab chahe jitne li add karo β€” event hamesha chalega. Full control!


πŸ” event.target vs event.currentTarget

ul.addEventListener("click", function (event) {
  console.log("Target:", event.target); // jahan click hua
  console.log("Current Target:", event.currentTarget); // jahan listener laga
});

Pro Tip: Yeh dono alag hote hain β€” dikkat yahin pe hoti hai agar confuse ho jao πŸ˜…


🎯 Real Example – Asli Life Kaam

<ul id="menu">
  <li>Home</li>
  <li>About</li>
  <li>Contact</li>
</ul>
document.getElementById("menu").addEventListener("click", function (e) {
  if (e.target.tagName === "LI") {
    alert("You clicked on " + e.target.innerText);
  }
});

Add karo new item:

const li = document.createElement("li");
li.innerText = "Blog";
document.getElementById("menu").appendChild(li);

😎 Result? Event fir bhi chalega. Kyunki delegation power ON hai.


⚑ Bonus Pro Tips

βœ… Use Event Delegation when:

  • Dynamic content bana rahe ho

  • Performance chahiye top-level

  • SaaS ya dashboards bana rahe ho

  • Reuse karna hai event logic


🧠 Final Words from Vivek

"Event Delegation wo skill hai jo tumhare JS code ko bacha bhi sakta hai aur rockstar bhi bana sakta hai."

Agle blog me hum ghoosenge DOM ke core maze me:
🌳 DOM Traversal Deep Dive


πŸ‘‹ Let’s Connect

❀️ Blog pasand aaya? Like karo
πŸ’¬ Kuch poochhna hai? Comment maaro
πŸš€ Follow karo for more real-developer vibes!

0
Subscribe to my newsletter

Read articles from Vivek varshney directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Vivek varshney
Vivek varshney

Full-Stack Web Developer | Blogging About Tech, React.js, Angular, Node.js & Web Development. Turning Ideas into Code & Helping Businesses Grow!