मैं हाल ही में इस भयानक MutationObserver
सुविधा में आया हूं जो किसी भी डोम तत्व पर परिवर्तनों के ट्रैक रखता है। मैंने कोड का उपयोग किया जो मोज़िला डेवलपर नेटवर्क पर दिखाया गया था, लेकिन इसे चलाने के लिए प्रतीत नहीं होता है।उत्परिवर्तन ऑब्सर्वर का उपयोग कैसे करें?
// create an observer instance
var target = document.querySelector('#something');
console.log(target);
var observer = new WebKitMutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log("Success");
//$('#log').text('input text changed: "' + target.text() + '"');
//console.log(mutation, mutation.type);
});
});
observer.observe(target, { attributes: true, childList: true, characterData: true });
//observer.disconnect(); - to stop observing
// test case
setInterval(function(){
document.querySelector('#something').innerHTML = Math.random();
},1000);
ऊपर कोड काम करने के लिए लगता है नहीं है: यह कोड मैं का इस्तेमाल किया (link) है। हालांकि अगर मैं एक ही कोड को jQuery के साथ संशोधित करता हूं, तो सब कुछ ठीक काम करता है (डेमो here)। क्या मैं दस्तावेज़ों से कुछ खो रहा हूं या मैं पर्यवेक्षक सुविधा को गलत व्याख्या कर रहा हूं।
स्पष्टीकरण के लिए धन्यवाद। मुझे पूछताछ करने से पहले कूदने से पहले और अधिक शोध करना चाहिए। :) –
यह भी एक तर्क है कि jQuery जैसे टूल्स के साथ चिपकने के लिए मूल जावास्क्रिप्ट और डीओएम एपीआई अधिक शक्तिशाली हो गया है। अंतर्निहित एपीआई इन प्रकार के तकनीकी विवरणों को छिपा नहीं (और आईएमओ नहीं होना चाहिए), इसलिए उपयोगिता अमूर्तता की एक अतिरिक्त परत के लिए लाभ है। –