जैसा कि आप में से कुछ पहले ही जानते हैं, इंटरनेट एक्सप्लोरर की onchange
घटना मूल रूप से संस्करण 9 से पहले टूटी हुई है। जब कोई परिवर्तन होता है तो ट्रिगर करने के बजाय, यह तब ट्रिगर होता है जब इनपुट फ़ील्ड फोकस खो देता है और इसमें परिवर्तन होते हैं।फ़ाइल इनपुट के साथ विनिमय के लिए कामकाज क्या है?
यह चेकबॉक्स और रेडियो बटन ("onclick
इसके बजाय") और टेक्स्ट फ़ील्ड ("keyup
इसके बजाय उपयोग करें") के लिए विभिन्न कामकाज का कारण बनता है।
हालांकि, मुझे फ़ाइल इनपुट के लिए यह समस्या है, और मैं यह नहीं समझ सकता कि मुझे यह सूचित करने के लिए क्या करना है कि एक नई फ़ाइल का चयन किया गया है, ठीक होने के बाद, और जब उपयोगकर्ता कहीं और क्लिक करता है । मैं खुद को माउस ईवेंट से संलग्न नहीं कर सकता क्योंकि यह माउस से संबंधित नहीं है; और मैं खुद को कीबोर्ड ईवेंट से संलग्न नहीं कर सकता क्योंकि यह कीबोर्ड से संबंधित नहीं है।
यदि मैं समस्या को हल कर सकता हूं तो मैं आईई-विशिष्ट सामग्री का उपयोग करने के इच्छुक हूं।
अतिरिक्त जानकारी:
मैं jQuery 1.6 का उपयोग करें और live
विधि घटना संलग्न करने के लिए।
$(".upload").live("change", function() { /* stuff here */ });
यहां इस समस्या के बारे में कुछ बात है: http://stackoverflow.com/questions/2389341/jquery-change-event-to-input-file-on-ie –
http://jsfiddle.net/c8JuC/1/ IE7 emulated के साथ IE9 पर काम करता है। – pimvdb
@pimvdb, मैं 'लाइव' का उपयोग करता हूं क्योंकि मैं ऑन-द-फ्लाई इनपुट का एक समूह उत्पन्न करता हूं, और ईवेंट को सही समय पर (jquery 1.6) से निकाल दिया नहीं जाता है। – zneak