उत्तर

22

आईई संस्करणों में> = 9 और सभी अन्य ब्राउज़र आप dispatchEvent विधि का उपयोग करना चाहिए:

var event = document.createEvent("HTMLEvents"); 
event.initEvent("change",true,false); 

document.getElementById("id").dispatchEvent(event); 

बाहर चेक http://jsfiddle.net/QKsvv/

+1

'पता चल सके कि (id.dispatchEvent)' 'तो यदि किसी और से (आईडी .fireEvent) 'अब मैं IE9 के लिए काम करने के लिए गैर-ie8 कोड का उपयोग कर सकता हूं। ऐसा लगता है कि आईई आखिरकार पकड़ रहा है? – styler1972

+0

यह सही है। आप फायरिंग कोड को एक अलग विधि में निकाल सकते हैं जो सभी ब्राउज़रों को संभाल लेगा। – Strelok

+4

अतिरिक्त जानकारी के रूप में, यह केवल उन तत्वों के लिए काम करता है जो लाइव डोम में हैं। यदि आप गतिशील रूप से ऑब्जेक्ट्स बनाते हैं और dispatchEvent का उपयोग करके उन पर क्लिक जैसे चीजों को अनुकरण करना चाहते हैं, तो आप उन्हें पहले डीओएम में जोड़ना चाहते हैं। यदि आप नहीं करते हैं, तो भी आप घटनाओं को प्रेषित कर सकते हैं, लेकिन आप अपने बालों को फाड़ कर आश्चर्यचकित होंगे कि फ़ंक्शन आपके ईवेंट हैंडलर को ट्रिगर किए बिना सफलतापूर्वक क्यों चलता है। –

0

मुझे आपकी समस्या पर चर्चा करने के लिए thread मिला। this खोलें और IE9 में चलाने का प्रयास करें।

उम्मीद है कि इससे मदद मिलेगी। धन्यवाद!

संबंधित मुद्दे