कृपया ध्यान दें कि Object.Watch
और Object.Observe
दोनों अब (जून २०१ both के अनुसार) पदावनत हो गए हैं।
मैं किसी वस्तु या परिवर्तन की निगरानी के लिए एक आसान तरीका खोज रहा था, और मैंने पाया Object.watch()
, यह मोज़िला ब्राउज़रों में समर्थित है, लेकिन IE के लिए नहीं। इसलिए मैंने यह देखने के लिए चारों ओर खोज शुरू कर दी कि क्या किसी ने किसी प्रकार की समकक्षता लिखी है।
केवल एक चीज के बारे में मैंने पाया है कि एक jQuery प्लगइन है , लेकिन मुझे यकीन नहीं है कि यह जाने का सबसे अच्छा तरीका है। मैं निश्चित रूप से अपने अधिकांश प्रोजेक्ट्स में jQuery का उपयोग करता हूं, इसलिए मुझे jQuery पहलू की चिंता नहीं है ...
वैसे भी, सवाल: क्या कोई मुझे उस jQuery प्लगइन का काम करने का उदाहरण दिखा सकता है? मुझे काम करने में समस्या हो रही है ...
या, किसी को भी किसी भी बेहतर विकल्प के बारे में पता है जो क्रॉस ब्राउज़र काम करेगा?
उत्तर के बाद अपडेट करें :
प्रतिक्रियाओं के लिए सभी का धन्यवाद! मैंने यहां पोस्ट किए गए कोड को आज़माया: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
लेकिन मैं इसे IE के साथ काम करने के लिए प्रतीत नहीं कर सकता। नीचे दिया गया कोड फ़ायरफ़ॉक्स में ठीक काम करता है, लेकिन IE में कुछ भी नहीं करता है। फ़ायरफ़ॉक्स में, हर बार watcher.status
बदल दिया जाता है, document.write()
में watcher.watch()
कहा जाता है और आप पृष्ठ पर आउटपुट देख सकते हैं। IE में, ऐसा नहीं होता है, लेकिन मैं देख सकता हूं कि watcher.status
मूल्य अपडेट हो रहा है, क्योंकि अंतिम document.write()
कॉल सही मान (IE और FF दोनों में) दिखाता है। लेकिन, यदि कॉलबैक फ़ंक्शन को कॉल नहीं किया जाता है, तो यह बेकार की तरह है ... :)
क्या मैं कुछ भूल रहा हूँ?
var options = {'status': 'no status'},
watcher = createWatcher(options);
watcher.watch("status", function(prop, oldValue, newValue) {
document.write("old: " + oldValue + ", new: " + newValue + "<br>");
return newValue;
});
watcher.status = 'asdf';
watcher.status = '1234';
document.write(watcher.status + "<br>");