मैं अन्य ब्राउज़र में आईई-विशिष्ट वेबसाइट को अनुकूलित करने पर काम कर रहा हूं। उदाहरण के लिए, onpropertychange का व्यापक रूप से उपयोग किया गया है, और मैं उस व्यवहार को अनुकरण करने के लिए MutationObserver का उपयोग कर रहा हूं।उत्परिवर्तन ऑब्सर्वर टेक्स्ट इनपुट फ़ील्ड्स में परिवर्तनों पर प्रतिक्रिया नहीं करता
हालांकि, मैं इनपुट = टेक्स्ट फ़ील्ड में मूल्य परिवर्तनों पर प्रतिक्रिया करने के लिए उत्परिवर्तन ऑब्सर्वर नहीं प्राप्त कर सकता, न तो प्रोग्रामेटिक परिवर्तनों और न ही उपयोगकर्ता इनपुट पर।
पर विचार करें:।
<input type="text" name="test1" id="test1" />
और
var config = { attributes: true, childList: true, characterData: true, subtree: true };
var observer = new MutationObserver(function() { alert('success'); });
observer.observe(document.getElementById('test1'), config);
अगर मैं ('test1') मान = 'कुछ' या कीबोर्ड इनपुट document.getElementById द्वारा मूल्य को बदलने की कोशिश, कुछ नहीं होता।
हालांकि, अगर मैं तत्व के बारे में कुछ और बदलने की कोशिश करता हूं, उदाहरण के लिए इसकी आईडी या नाम (जावास्क्रिप्ट द्वारा), उत्परिवर्तन ऑब्सर्वर आग लगती है।
वैल्यू चेंज और म्यूटेशन ऑब्सर्वर अन्य इनपुट प्रकारों, ईवेंट के साथ छिपे हुए फ़ील्ड के मूल्य के साथ ठीक काम करते हैं।
यह व्यवहार ब्राउज़र भर में संगत है।
क्या कोई जानता है कि मैं टेक्स्ट फ़ील्ड पर मूल्य परिवर्तन कैसे देख सकता हूं? या मुझे इसे अलग तरीके से संपर्क करना है?
, वहाँ change' है '। मुझे लगता है कि आप मुख्य रूप से प्रोग्रामेटिक परिवर्तनों के बारे में चिंतित हैं? –
हां। लेकिन चिंतित है कि कीबोर्ड इनपुट भी काम नहीं करता है। – tdrummdk