target
के बारे में त्रुटि यह है कि इवेंट हैंडलर में कोड है जो परिवर्तन घटना से जुड़े Event
ऑब्जेक्ट की target
संपत्ति को पढ़ने का प्रयास कर रहा है। तुम एक छद्म-घटना में गुजर यह बेवकूफ बनाने की कोशिश कर सकते हैं:
var range= document.getElementById('range');
range.onchange({target: range});
या, यदि आप, this
बजाय event.target
उपयोग करने के लिए हैंडलर कोड बदल सकते हैं।जब तक आप प्रतिनिधिमंडल का उपयोग नहीं कर रहे हैं (माता-पिता से बच्चे के ऑब्जेक्ट पर परिवर्तन घटनाओं को पकड़ना, कुछ ऐसा जो घटनाओं के लिए परेशानी है क्योंकि आईई उन्हें 'बबल' नहीं करता है), परिवर्तन घटना का लक्ष्य हमेशा ईवेंट हैंडलर का तत्व होता है event.target
अनावश्यक बनाने पर पंजीकृत था।
यदि ईवेंट हैंडलर के target
की तुलना में अधिक गुणों का उपयोग करता है तो आपको अधिक नकली करने की आवश्यकता होगी, या घटनाओं को प्रेषित करने के लिए 'वास्तविक' ब्राउज़र इंटरफ़ेस के लिए जाना होगा। यदि ईवेंट श्रोताओं का उपयोग किया जा सकता है तो यह भी आवश्यक होगा (addEventListener
, या attachEvent
आईई में) क्योंकि वे सीधे onchange
संपत्ति पर दिखाई नहीं देंगे। यह ब्राउज़र-निर्भर (मानकों के लिए आईई, dispatchEvent
के लिए fireEvent
) है और पुराने या अधिक अस्पष्ट ब्राउज़र पर उपलब्ध नहीं है।
मुझे लगता है कि 'fireEvent() 'एक आईई-केवल चीज है। मानक-अनुरूप ब्राउज़र 'dispatchEvent() 'का उपयोग करते हैं। – Pointy
मुझे "Uncaught TypeError: ऑब्जेक्ट # <एक HTMLInputElement> में कोई 0 विधि नहीं है 'fireEvent'" इस – Mircea
@ पॉइंटी के साथ त्रुटि: आप सही हैं, मैंने अपडेट किया - धन्यवाद –