यह उदाहरण निम्नलिखित दर्शाता है:
सूची में एक आइटम जोड़नासूची से एक आइटम हटाना
DOM परिवर्तनों का प्रभावी ढंग से पता लगाना
उपयोगकर्ता इंटरैक्शन पर प्रतिक्रिया देने वाले गतिशील वेब एप्लिकेशन बनाने के लिए DOM में परिवर्तनों का अवलोकन करना महत्वपूर्ण है। एक व्यापक रूप से उपयोग किए जाने वाले दृष्टिकोण में म्यूटेशनऑब्जर्वर का लाभ उठाना शामिल है, एक आधुनिक एपीआई जो आपको DOM संशोधनों को देखने की अनुमति देता है। यह दृष्टिकोण IE11, फ़ायरफ़ॉक्स और WebKit सहित अधिकांश आधुनिक ब्राउज़रों द्वारा समर्थित है। var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; रिटर्न फ़ंक्शन (ओबीजे, कॉलबैक) { यदि (!obj || obj.nodeType !== 1) { वापस करना; } यदि (म्यूटेशनऑब्जर्वर) { var म्यूटेशनऑब्जर्वर = नया म्यूटेशनऑब्जर्वर(कॉलबैक); उत्परिवर्तनऑब्जर्वर.अवलोकन(ओबीजे, {चाइल्डलिस्ट: सत्य, सबट्री: सत्य}); वापसी उत्परिवर्तन ऑब्जर्वर; } अन्यथा यदि (window.addEventListener) {// ब्राउज़र समर्थन फ़ॉलबैक obj.addEventListener('DOMNodeInserted', कॉलबैक, गलत); obj.addEventListener('DOMNodeRemoved', कॉलबैक, गलत); } } })();
यह फ़ंक्शन तर्क के रूप में एक तत्व (obj) और एक कॉलबैक फ़ंक्शन (कॉलबैक) लेता है। जब भी तत्व या उसके बच्चों में कोई परिवर्तन किया जाता है तो कॉलबैक निष्पादित किया जाएगा।
var observeDOM = (function() { var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; return function(obj, callback) { if (!obj || obj.nodeType !== 1) { return; } if (MutationObserver) { var mutationObserver = new MutationObserver(callback); mutationObserver.observe(obj, {childList: true, subtree: true}); return mutationObserver; } else if (window.addEventListener) { // browser support fallback obj.addEventListener('DOMNodeInserted', callback, false); obj.addEventListener('DOMNodeRemoved', callback, false); } } })();
यह उदाहरण निम्नलिखित दर्शाता है:
सूची में एक आइटम जोड़नासूची से एक आइटम हटाना
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3