जावास्क्रिप्ट डेवलपर्स को अक्सर यह प्रबंधित करने की आवश्यकता होती है कि वेब अनुप्रयोगों में घटनाओं को कैसे प्रबंधित किया जाता है, और इस संदर्भ में दो महत्वपूर्ण अवधारणाएं इवेंट प्रतिनिधिमंडल और इवेंट प्रसार हैं। इन अवधारणाओं को समझने से आपके कोड की दक्षता और रखरखाव में काफी सुधार हो सकता है। आइए जानें कि वे क्या हैं और वे कैसे भिन्न हैं।
इवेंट प्रसार उस तरीके का वर्णन करता है जिस तरह से कोई इवेंट ट्रिगर होने के बाद DOM के माध्यम से यात्रा करता है। घटना प्रसार के तीन चरण हैं:
1. कैप्चरिंग चरण: घटना खिड़की से शुरू होती है और लक्ष्य तत्व के पूर्वजों के माध्यम से नीचे तक यात्रा करती है जब तक कि यह लक्ष्य तक नहीं पहुंच जाती।
2. लक्ष्य चरण: घटना लक्ष्य तत्व तक पहुंचती है।
3. बुदबुदाहट चरण: घटना लक्ष्य तत्व से वापस अपने पूर्वजों के माध्यम से विंडो तक बुदबुदाती है।
डिफ़ॉल्ट रूप से, जावास्क्रिप्ट में अधिकांश ईवेंट बबलिंग चरण का उपयोग करते हैं, जिसका अर्थ है कि जब कोई ईवेंट किसी चाइल्ड तत्व पर ट्रिगर होता है, तो यह उसके सभी पूर्वज तत्वों पर भी ट्रिगर होता है। आप कैप्चर विकल्प निर्दिष्ट करके कैप्चरिंग चरण के दौरान घटनाओं को भी संभाल सकते हैं।
// Capturing phase element.addEventListener('click', function(event) { console.log('Capturing phase:', this); }, true); // Bubbling phase (default) element.addEventListener('click', function(event) { console.log('Bubbling phase:', this); });
इवेंट डेलिगेशन इवेंट को कुशलतापूर्वक प्रबंधित करने के लिए इवेंट प्रसार का लाभ उठाता है। एकाधिक चाइल्ड तत्वों में ईवेंट श्रोताओं को जोड़ने के बजाय, आप एक एकल ईवेंट श्रोता को मूल तत्व में जोड़ते हैं। यह श्रोता अपने बाल तत्वों के लिए घटनाओं को संभालने के लिए इवेंट बबलिंग का लाभ उठाता है।
1. प्रदर्शन: इवेंट श्रोताओं की संख्या कम कर देता है, जिससे प्रदर्शन में सुधार हो सकता है, विशेष रूप से बड़ी संख्या में तत्वों के साथ।
2. गतिशील तत्व: गतिशील रूप से जोड़े गए तत्वों के लिए ईवेंट प्रबंधन को सरल बनाता है, क्योंकि आपको प्रत्येक नए तत्व में ईवेंट श्रोताओं को संलग्न करने की आवश्यकता नहीं होती है।
आइटमों की एक सूची पर विचार करें जहां प्रत्येक आइटम पर क्लिक किया जा सकता है। प्रत्येक आइटम में एक क्लिक इवेंट श्रोता जोड़ने के बजाय, आप मूल कंटेनर में एक एकल श्रोता जोड़ते हैं।
const list = document.getElementById('list'); list.addEventListener('click', function(event) { if (event.target.tagName === 'LI') { console.log('Item clicked:', event.target.textContent); } });
इस उदाहरण में, किसी भी li तत्व पर क्लिक इवेंट ul तत्व तक बुलबुला जाएगा, जो इवेंट को संभालता है।
1. ईवेंट प्रसार इस बारे में है कि कोई ईवेंट DOM (कैप्चरिंग और बबलिंग) के माध्यम से कैसे यात्रा करता है।
2. इवेंट डेलिगेशन एक ऐसी तकनीक है जो एकल अभिभावक श्रोता का उपयोग करके एकाधिक चाइल्ड तत्वों पर घटनाओं को कुशलतापूर्वक संभालने के लिए इवेंट प्रसार का उपयोग करती है।
जब आपके पास कई चाइल्ड तत्व होते हैं जिन्हें एक ही इवेंट हैंडलिंग की आवश्यकता होती है।
जब आपको श्रोताओं को दोबारा जोड़े बिना गतिशील रूप से जोड़े गए तत्वों के लिए घटनाओं को संभालने की आवश्यकता होती है।
इवेंट प्रसार और इवेंट डेलिगेशन दोनों शक्तिशाली अवधारणाएं हैं जो आपके जावास्क्रिप्ट कोड को अधिक कुशल और प्रबंधित करने में आसान बना सकती हैं। ईवेंट प्रतिनिधिमंडल, विशेष रूप से, ईवेंट श्रोताओं की संख्या को काफी कम कर सकता है, प्रदर्शन में सुधार कर सकता है और गतिशील तत्वों के लिए ईवेंट प्रबंधन को सरल बना सकता है। इन अवधारणाओं का उपयोग कब और कैसे करना है, यह समझना आपको अधिक कुशल जावास्क्रिप्ट डेवलपर बना देगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3