बल्कि आईई 9 के साथ निराशाजनक समय। यह कोड आईई 7/8 में काम करता है, लेकिन 9 नहीं।आईएफ 9 में .fireEvent() क्यों काम नहीं करता है?
document.getElementById('id').fireEvent("OnChange");
क्यों कोई अंतर्दृष्टि?
बल्कि आईई 9 के साथ निराशाजनक समय। यह कोड आईई 7/8 में काम करता है, लेकिन 9 नहीं।आईएफ 9 में .fireEvent() क्यों काम नहीं करता है?
document.getElementById('id').fireEvent("OnChange");
क्यों कोई अंतर्दृष्टि?
आईई संस्करणों में> = 9 और सभी अन्य ब्राउज़र आप dispatchEvent
विधि का उपयोग करना चाहिए:
var event = document.createEvent("HTMLEvents");
event.initEvent("change",true,false);
document.getElementById("id").dispatchEvent(event);
बाहर चेक http://jsfiddle.net/QKsvv/
'पता चल सके कि (id.dispatchEvent)' 'तो यदि किसी और से (आईडी .fireEvent) 'अब मैं IE9 के लिए काम करने के लिए गैर-ie8 कोड का उपयोग कर सकता हूं। ऐसा लगता है कि आईई आखिरकार पकड़ रहा है? – styler1972
यह सही है। आप फायरिंग कोड को एक अलग विधि में निकाल सकते हैं जो सभी ब्राउज़रों को संभाल लेगा। – Strelok
अतिरिक्त जानकारी के रूप में, यह केवल उन तत्वों के लिए काम करता है जो लाइव डोम में हैं। यदि आप गतिशील रूप से ऑब्जेक्ट्स बनाते हैं और dispatchEvent का उपयोग करके उन पर क्लिक जैसे चीजों को अनुकरण करना चाहते हैं, तो आप उन्हें पहले डीओएम में जोड़ना चाहते हैं। यदि आप नहीं करते हैं, तो भी आप घटनाओं को प्रेषित कर सकते हैं, लेकिन आप अपने बालों को फाड़ कर आश्चर्यचकित होंगे कि फ़ंक्शन आपके ईवेंट हैंडलर को ट्रिगर किए बिना सफलतापूर्वक क्यों चलता है। –