2016-07-21 4 views
10

मैं jQuery कीप्रेस, कीडाउन, कीप और इनपुट ईवेंट को समझने की कोशिश कर रहा हूं। लेकिन मैंने उन्हें काफी भ्रमित पाया। क्या कोई सही अंतर बता सकता है? साथ ही मैं जानना चाहूंगा कि जब उपयोगकर्ता टेक्स्ट का एक टुकड़ा पेस्ट करते हैं तो वे सभी ट्रिगर हो जाते हैं।
धन्यवादकीप, कीडाउन, कीप्रेस और इनपुट इवेंट्स के बीच क्या अंतर है?

उत्तर

16

jQuery docs के अनुसार:

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

कीप ईवेंट किसी तत्व को भेजा जाता है जब उपयोगकर्ता कीबोर्ड पर कुंजी जारी करता है।

oninput ईवेंट यह एक ऐसा ईवेंट है जो इनपुट परिवर्तनों को तब भी ट्रिगर करता है।

हालांकि इनपुट इवेंट 9 से नीचे आईई संस्करण में समर्थित नहीं है। उस स्थिति में, आप मालिकाना घटना ऑनप्रोपर्टीएन्चेंज का उपयोग कर सकते हैं, यह ऑनपुट के समान होता है।

लेकिन आपके मामले में, आप एक साथ पेस्ट और परिवर्तन घटना इस्तेमाल कर सकते हैं। आपको को भी बदलना चाहिए क्योंकि पेस्ट केवल उन ब्राउज़रों पर होता है जो इसे एक स्पष्ट पेस्ट पर समर्थन देते हैं।

+1

क्रोम (63) पर लीट पर जहां मैं परीक्षण कर रहा हूं, ** दबाए जाने से पहले ** कीप्रेस और कीडाउन ट्रिगर की गई है ** इसलिए ईवेंट ने संसाधित किया है, इसलिए मुख्य घटना ने इनपुट के मूल्य को नहीं बदला है। दूसरी ओर, इनपुट, बाद में संसाधित किया जाता है। इसका मतलब है कि यदि आप इनपुट मान तक पहुंचते हैं, तो आपको कीप्रेस और कीडाउन ईवेंट श्रोताओं पर _previous_ मान मिलेगा। – RSinohara

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