Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट में इवेंट बबलिंग बनाम इवेंट कैप्चरिंग


इवेंट बबलिंग - जब भी किसी एलिमेंट पर कोई इवेंट होता है, तो इवेंट हैंडलर्स पहले उस पर चलेंगे, फिर उसके पैरेंट पर और अंत में सभी पूर्वजों तक।

इवेंट कैप्चरिंग - यह इवेंट बबलिंग का उल्टा है और यहां इवेंट पैरेंट एलिमेंट से शुरू होकर चाइल्ड एलिमेंट तक जाता है।

जावास्क्रिप्ट में इवेंट बबलिंग बनाम इवेंट कैप्चरिंग के लिए कोड निम्नलिखित है:

उदाहरण

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    }    .result {       font-size: 18px;       font-weight: 500;       color: blueviolet;    }    .outer {       display: inline-block;       width: 400px;       height: 200px;       font-size: 20px;       background-color: chartreuse;    }    .inner {       width: 200px;       height: 100px;       font-size: 20px;       background-color: blueviolet;       text-align: center;       margin: 20px;    }    .tags {       display: inline-block;       width: 400px;       font-weight: bold;       font-size: 18px;    } </style> </head> <body> <h1>Event bubbling vs event capturing</h1> <div class="outer"> OUTER <div class="inner">INNER</div> </div> <div class="outer"> OUTER <div class="inner">INNER</div> </div> <br /> <div class="tags">Bubbling</div> <div class="tags">Capturing</div> <div class="result"></div> <script>    let outerDiv = document.querySelectorAll(".outer");    let innerDiv = document.querySelectorAll(".inner");    let resEle = document.querySelector(".result");    outerDiv[0].addEventListener("click", () => {       resEle.innerHTML += "Outer div has been clicked" + "<br>";    });    innerDiv[0].addEventListener("click", () => {       resEle.innerHTML = "";       resEle.innerHTML += "Inner div has been clicked" + "<br>";    });    outerDiv[1].addEventListener("click",() => {       resEle.innerHTML = "";       resEle.innerHTML += "Outer div has been clicked" + "<br>";    },true);    innerDiv[1].addEventListener("click",() => {       resEle.innerHTML += "Inner div has been clicked" + "<br>";    }, true); </script> </body> </html>

आउटपुट

जावास्क्रिप्ट में इवेंट बबलिंग बनाम इवेंट कैप्चरिंग

इवेंट बबलिंग वाले इनर डिव पर क्लिक करने पर:

जावास्क्रिप्ट में इवेंट बबलिंग बनाम इवेंट कैप्चरिंग

इवेंट कैप्चरिंग वाले इनर डिव पर क्लिक करने पर:

जावास्क्रिप्ट में इवेंट बबलिंग बनाम इवेंट कैप्चरिंग



  1. - JavaScript में इवेंट हैंडलर्स कैसे हटाएं

    JavaScript removeEventListener() मेथड प्रदान करता है इवेंट हैंडलर्स को हटाने के लिए। एक इवेंट को addEventListener() मेथड के माध्यम से हैंडल किया जाता है। removeEventListener() मेथड उन इवेंट हैंडलर्स को हटा देता है जिन्हें addEventListener() मेथड के साथ जोड़ा गया था। उदाहरण <html> <body>

  1. - जावास्क्रिप्ट में इवेंट बबलिंग और कैप्चरिंग क्या है?

    इवेंट बबलिंग वह क्रम है जिसमें इवेंट हैंडलर्स कॉल किए जाते हैं जब एक एलिमेंट दूसरे एलिमेंट के अंदर नेस्टेड होता है, और दोनों एलिमेंट्स ने उसी इवेंट (उदाहरण के लिए क्लिक) के लिए लिसनर रजिस्टर किया होता है। बबलिंग के साथ, इवेंट पहले इनरमोस्ट एलिमेंट द्वारा कैप्चर और हैंडल किया जाता है और फिर आउटर एलिम

  1. - JavaScript में इवेंट फ्लो प्रोसेस समझाएं

    JavaScript में, इवेंट फ्लो प्रोसेस तीन अवधारणाओं द्वारा पूरा होता है: इवेंट टार्गेट - वह वास्तविक DOM ऑब्जेक्ट जिस पर इवेंट हुआ। इवेंट बबलिंग - नीचे समझाया गया इवेंट कैप्चरिंग - नीचे समझाया गया इवेंट बबलिंग वह क्रम है जिसमें इवेंट हैंडलर्स कॉल किए जाते हैं जब एक एलिमेंट दूसरे एलिमेंट के अंदर नेस्