javascript - How can I trigger an onchange event manually? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 9 जवाब

मैं एक तिथि निर्धारित कर रहा हूँ एक कैलेंडर विजेट के माध्यम से -time पाठफ़ील्ड मूल्य। जाहिर है, कैलेंडर विजेट इस तरह से कुछ करता है:

  document.getElementById ('datetimetext')। Value = date_value;  

मुझे क्या चाहिए: तिथि-समय पाठ्यफील्ड में बदलते मूल्य पर मुझे पृष्ठ में कुछ अन्य फ़ील्ड रीसेट करने की आवश्यकता है I मैंने डेटेटिमेटेक्स्ट फ़ील्ड पर एक ऐन्टेन्टेन्ट इवेंट श्रोता जोड़ दिया है जो ट्रिगर नहीं हो रहा है, क्योंकि मुझे लगता है कि onchange केवल तभी शुरू होता है जब तत्व फोकस हो जाता है & amp;

इसलिए मैं मैन्युअल रूप से इस onchange घटना को ट्रिगर करने का एक तरीका तलाश रहा हूं (जो मुझे लगता है कि मान में अंतर का पता लगाना चाहिए पाठ फ़ील्ड)।

कोई भी विचार?

वहाँ कुछ तरीके हैं जो आप कर सकते हैं यह करो। यदि onchange श्रोता एक element.onchange संपत्ति के माध्यम से एक समारोह सेट है और आप घटना वस्तु या बुदबुदाती / प्रचार के बारे में परवाह नहीं कर रहे हैं, सबसे आसान तरीका कॉल करना है उस फ़ंक्शन:

  element.onchange ();  

यदि आपको इसकी वास्तविक घटना को पूर्ण रूप से अनुकरण करने की आवश्यकता है या यदि आप HTML विशेषता या addEventListener / attachEvent , आपको ईवेंट को सही ढंग से आग लगाने के लिए कुछ सुविधा का पता लगाने की आवश्यकता है:

  यदि (दस्तावेज़ में "createEvent") {var evt = document.createEvent ("HTMLEvents"); Evt.initEvent ("परिवर्तन", गलत, सत्य); element.dispatchEvent (evt); } और element.fireEvent ("onchange");  

Comments