dev-resources.site
for different kinds of informations.
Event Propagation - Bubbling vs Capturing Explained with Examples
Event Propagation - Bubbling vs Capturing āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ¤āĻŋāĻ¤ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨?
āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨: āĻŦā§āĻŦāĻ˛āĻŋāĻ āĻŦāĻ¨āĻžāĻŽ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ
āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ (āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻŋāĻ) DOM (Document Object Model) āĻāĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§āĨ¤ āĻāĻāĻŋ āĻŽā§āĻ˛āĻ¤ āĻĻā§āĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§: āĻŦā§āĻŦāĻ˛āĻŋāĻ (bubbling) āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ (capturing)āĨ¤ āĻāĻ āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž DOM āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ āĻāĻ° āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ āĻāĻļāĨ¤
āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ āĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ DOM āĻā§āĻ°āĻŋ-āĻ¤ā§ parent āĻĨā§āĻā§ child, child āĻĨā§āĻā§ parent āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ element-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§āĨ¤ āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ āĻĻā§āĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§: Event Bubbling āĻāĻŦāĻ Event CapturingāĨ¤ āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ āĻĻā§āĻāĻŋ āĻ§āĻžāĻĒ DOM-āĻ āĻāĻā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻŋāĻāĻžāĻŦā§ propagate āĻšāĻŦā§, āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤
ā§§. āĻāĻā§āĻ¨ā§āĻ āĻŦā§āĻŦāĻ˛āĻŋāĻ (Event Bubbling)
āĻāĻā§āĻ¨ā§āĻ āĻŦā§āĻŦāĻ˛āĻŋāĻ āĻšāĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ¨āĻŋāĻļāĻŋāĻ¯āĻŧā§āĻ (āĻļā§āĻ°ā§) āĻšāĻ¯āĻŧ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ (innermost) āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻŦāĻ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻžāĻ°ā§āĻā§āĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ¤āĻžāĻ° āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ, āĻ¤āĻžāĻ° āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻā§āĻ° āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĨāĻžāĻā§ āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻ¨āĻž āĻĒā§āĻ°ā§ DOM āĻāĻ° āĻāĻĒ-āĻ˛ā§āĻā§āĻ˛ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻāĻāĻžāĻ¯āĻŧāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
<div id="parent">
<div id="child">
<button id="button">Click Me!</button>
</div>
</div>
āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ button
āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ button
āĻ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻŦā§, āĻ¤āĻžāĻ°āĻĒāĻ° child
āĻ, āĻāĻŦāĻ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ parent
āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻŦā§āĻŦāĻ˛āĻŋāĻāĨ¤
ā§¨. āĻāĻā§āĻ¨ā§āĻ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ (Event Capturing)
āĻāĻā§āĻ¨ā§āĻ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ āĻšāĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ DOM āĻāĻ° āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻ¨āĻŋāĻā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§āĻ° (innermost) āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻĻāĻŋāĻā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻ¤āĻžāĻ° āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻžāĻ°ā§āĻā§āĻā§āĻ° āĻĻāĻŋāĻā§ āĻāĻ¸ā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
<div id="parent">
<div id="child">
<button id="button">Click Me!</button>
</div>
</div>
āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ button
āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ āĻĢā§āĻā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ parent
āĻ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻŦā§, āĻ¤āĻžāĻ°āĻĒāĻ° child
āĻ, āĻāĻŦāĻ āĻļā§āĻˇā§ button
āĻāĨ¤
ā§Š. āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ā§āĻ° āĻ§āĻžāĻĒāĻ¸āĻŽā§āĻš
āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ§āĻžāĻĒā§ āĻāĻžāĻ āĻāĻ°ā§:
- āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ āĻĢā§āĻ (Capturing Phase): āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ°ā§āĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻā§āĻ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻā§āĻ° āĻĻāĻŋāĻā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
- āĻāĻžāĻ°ā§āĻā§āĻ āĻĢā§āĻ (Target Phase): āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻ¤āĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§ āĻĒā§āĻāĻā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
- āĻŦā§āĻŦāĻ˛āĻŋāĻ āĻĢā§āĻ (Bubbling Phase): āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻ¤āĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻāĻŦāĻžāĻ° āĻāĻĒāĻ°ā§āĻ° āĻĻāĻŋāĻā§ āĻāĻ ā§, DOM āĻāĻ° āĻ°ā§āĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻāĻāĻžāĻ¯āĻŧāĨ¤
ā§Ē. āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§
āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻāĻŋ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ āĻĢā§āĻā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻāĻŋāĻ¨āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ addEventListener
āĻŽā§āĻĨāĻĄā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ true
āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ āĻĢā§āĻā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻšāĻŦā§āĨ¤ āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻāĻŋ āĻŦā§āĻŦāĻ˛āĻŋāĻ āĻĢā§āĻā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻšāĻŦā§āĨ¤
document.getElementById("parent").addEventListener("click", function() {
console.log("Parent clicked");
}, true); // Capturing Phase
document.getElementById("child").addEventListener("click", function() {
console.log("Child clicked");
}, false); // Bubbling Phase
document.getElementById("button").addEventListener("click", function() {
console.log("Button clicked");
}); // Default: Bubbling Phase
ā§Ģ. āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž
āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻžāĻ¨ āĻ¯ā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻ¤āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢā§āĻ āĻĨā§āĻā§ āĻāĻ° āĻāĻĒāĻ°ā§āĻ° āĻŦāĻž āĻ¨āĻŋāĻā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ stopPropagation()
āĻŽā§āĻĨāĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
document.getElementById("button").addEventListener("click", function(event) {
event.stopPropagation(); // Prevents further propagation
console.log("Button clicked, propagation stopped");
});
ā§Ŧ. āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
- āĻāĻā§āĻ¨ā§āĻ āĻŦā§āĻŦāĻ˛āĻŋāĻ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĨ¤
- āĻāĻā§āĻ¨ā§āĻ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻ āĻāĻŋāĻā§ āĻŦāĻŋāĻļā§āĻˇ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻžāĻā§ āĻāĻ¸ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻžāĻ¨ āĻ¯ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻā§āĻ° āĻāĻā§āĻ¨ā§āĻ āĻāĻā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻšā§āĻāĨ¤
ā§. Event Bubbling āĻŦāĻ¨āĻžāĻŽ Event Capturing: āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯
āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ | Event Bubbling | Event Capturing |
---|---|---|
āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ā§āĻ° āĻĻāĻŋāĻ | Target element āĻĨā§āĻā§ āĻāĻĒāĻ°ā§āĻ° āĻĻāĻŋāĻā§, āĻ āĻ°ā§āĻĨāĻžā§ parent elements-āĻāĻ° āĻĻāĻŋāĻā§ | Root element āĻĨā§āĻā§ āĻ¨āĻŋāĻā§āĻ° āĻĻāĻŋāĻā§, āĻ āĻ°ā§āĻĨāĻžā§ child elements-āĻāĻ° āĻĻāĻŋāĻā§ |
Default Behavior | Default behavior āĻāĻā§āĻ¨ā§āĻ bubbling; āĻāĻā§āĻ¨ā§āĻ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ°āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšā§ | āĻāĻā§āĻ¨ā§āĻ capturing āĻšāĻ˛ā§ non-default behavior, āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ addEventListener -āĻāĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° true āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ |
āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻĒā§āĻ°āĻāĻžāĻŦ | āĻāĻā§āĻ¨ā§āĻ āĻāĻžāĻ°ā§āĻā§āĻ element āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ°āĻĒāĻ° parent elements āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻāĻā§ | āĻāĻā§āĻ¨ā§āĻ root āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ target element āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻāĻā§ |
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ | āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ āĻ¨ā§āĻ āĻāĻā§āĻ¨ā§āĻ bubbling āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ | āĻāĻŋāĻā§ āĻŦāĻŋāĻļā§āĻˇ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ capturing āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻ bubbling behavior āĻā§ bypass āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ |
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ āĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ§āĻžāĻ°āĻŖāĻž āĻ¯āĻž DOM āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻāĻ¯āĻŧā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻā§āĻ¨ā§āĻ bubbling āĻāĻŦāĻ capturing āĻāĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻā§āĻļāĻ¨ā§āĻ° āĻĻā§āĻāĻāĻŋ āĻ§āĻžāĻĒ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻā§āĻ¨ā§āĻāĻāĻŋ DOM āĻā§āĻ°āĻŋ-āĻ¤ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĄāĻŧāĻžāĻŦā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻāĻžāĻŦā§ āĻāĻā§āĻ¨ā§āĻ bubbling āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ capturing āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻā§āĻ¨ā§āĻ propagation āĻĨāĻžāĻŽāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ stopPropagation()
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĒā§āĻ°āĻāĻžāĻŦ āĻ°ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋāĻ˛ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻāĻā§āĻ¨ā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻĄāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻ āĻ¸ā§āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻ°āĻžāĻāĻ¤ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°ā§āĨ¤
Featured ones: