ठीक है तो .keypress और .keydown/.keyup में क्या अंतर है? वर्तमान में मैं .keydown का उपयोग कर रहा हूं जो मेरी कुंजी के लिए 38 का एक मूल्य देता है, अब अगर मैं इसे बदलता हूं .keypress यह उसी कुंजी के लिए 109 का मान देता है। अंतर क्या है और एक ही कुंजी के लिए मूल्य अलग क्यों हैं?jQuery .keypress और .keydown .which
उत्तर
कीडॉउन के बाद कीप्रेस होता है। तो आप यह निर्धारित करने के लिए KeyDown का उपयोग कर सकते हैं कि यह कौन सा कुंजी है, फिर उस वर्ण को अस्वीकार करने के लिए KeyPress।
आप पोस्ट निम्नलिखित पढ़ना चाहिए: http://javascript.info/tutorial/keyboard-events
keydown किसी भी कुंजी दबाने पर चलाता है और स्कैन-कोड देता है। कीपैड के बाद कीप्रेस ट्रिगर करता है और चार-कोड देता है, लेकिन यह केवल वर्ण कुंजी के लिए गारंटीकृत है।
आप एक बटन दबाते हैं यह एक keydown
आग और रिहा यह एक keyup
सक्रिय करता है। keypress
आमतौर पर उन दोनों के बीच आता है।
keydown
और keyup
बात के बारे में जो कुंजी बदल दिया गया है। keypress
बताता है कि वर्ण वह कुंजी दर्शाता है।
ध्यान दें कि यह सभी ब्राउज़र-निर्भर है!
this article about the differences between the key events as implemented on various browsers देखें।
मैं डी $%^@ डी होगा, वास्तव में कुंजीपटल के साथ एक अंतर है और इस बार मुझे कभी एहसास नहीं हुआ। "आर"
http://jsfiddle.net/SpYk3/NePCm/
किसी तरह lol
मेरी बेला देखें और पत्र की तरह कुछ कोशिश मैं इस
मिले और अधिक जानकारी के लिए ध्यान का भुगतान नहीं:
http://www.quirksmode.org/js/keys.html
"दो गुणहैंऔर
charCode
। रखो (भी) बस,keyCode
उपयोगकर्ता द्वारा दबाए गए वास्तविक कीबोर्ड कुंजी के बारे में कुछ कहता है, जबकिcharCode
परिणामस्वरूप वर्ण का ASCII मान देता है। जानकारी के इन बिट्स एक जैसा नहीं होना चाहिए; उदाहरण के लिए, एक निचला मामला 'ए' और ऊपरी मामला 'ए' में एक हीkeyCode
है, क्योंकि उपयोगकर्ता एक ही कुंजी दबाता है, लेकिन एक अलगcharCode
क्योंकि परिणामी चरित्र अलग होता है।एक्सप्लोरर और ओपेरा समर्थन
charCode
नहीं है। हालांकि, वे चरित्र जानकारीkeyCode
में देते हैं, लेकिन केवलonkeypress
के साथ।onkeydown
और-up
keyCode
में महत्वपूर्ण जानकारी है।"
की तरह gimmie हाँ, तो यही कारण है कि मैं क्यों उलझन में हूँ? – ChrisMJ
जैसा कि जेबीएल ने अपने उत्तर में बताया, [यह पृष्ठ] (http://javascript.info/tutorial/keyboard-events) समस्या का वर्णन थोड़ा सा है, लेकिन यह अभी भी पूरे प्रश्न का उत्तर नहीं दे रहा है । हो सकता है कि मैंने पृष्ठ को गलत पढ़ा, लेकिन एक बिंदु पर यह अभी भी दोनों को खींचने के रूप में चारकोड को इंगित करता है, केवल एक अलग मूल्य को दोहराता है। शायद कुछ पुराने जेएस डॉक्टर में एक नज़र का जवाब मिलेगा। मैं अब देख रहा हूं, मेरे ऑब्जेक्ट को रीपॉइट करने के लिए किप्रेस मतभेद – SpYk3HH
शामिल करने के लिए, हालांकि मैं कीप्रेस से परहेज करने का सुझाव दूंगा क्योंकि यह अनुमानित घटनाओं के रूप में नहीं है क्योंकि कीडाउन और कीप – SpYk3HH
सामान्य मामलों में, keyup
के लिए जाना:
$(document).keyup(function(e){
console.log(e.which);
});
कारण:
keydown
फायरिंग जब उपयोगकर्ता कुंजी नीचे रखती रहता है, जबकिkeypress
औरkeyup
आग केवल एक बार ।
keypress
विशेष कुंजी का पता नहीं लगाता है (उदाहरण के लिएSHIFT
),keydown
औरkeyup
करो।
आप किस ब्राउज़र का उपयोग कर रहे हैं? – Mathletics
विभिन्न ब्राउज़र के परिणामस्वरूप अलग-अलग ईवेंट हो सकते हैं, लेकिन अलग-अलग कुंजी कमांड नहीं हैं – SpYk3HH
मेरे पास प्रत्येक कुंजी ईवेंट और ब्राउज़र द्वारा विभाजित प्रत्येक के साथ एक जेसन ऑब्जेक्ट है, मैं इसे सभी तीन कीप्रेस के साथ भी एक वास्तविक वास्तविक पोस्ट पोस्ट करूंगा और हम इसका परीक्षण कर सकते हैं , 10 मिनट – SpYk3HH