दिलचस्प पोस्ट
सभी तालिकाएं, संग्रहित प्रक्रियाएं, ट्रिगर, बाधाएं और एक एसक्वेल स्टेटमेंट में सभी निर्भरताएं ड्रॉप करें जावास्क्रिप्ट में एक अनुरोध हैडर सेट करें Node.js का उपयोग करना आवश्यक है। ES6 आयात / निर्यात पायथन में नंबरों की एक सूची की गणना करें पीएचपी में छवि से सफेद स्थान का फसल करें java.lang.NumberFormatException: इनपुट स्ट्रिंग के लिए एक परिपत्र कतार / लपेटन के रूप में देखेंपैगर प्रोसेसर की संख्या का पता लगा रहा है सी # वापसी त्रुटि "सभी कोड पथ एक मान वापस नहीं" पायथन में दिए गए URL में पैरामीटर जोड़ें TypeScript में स्ट्रिंग को enum में कनवर्ट करने के लिए कैसे? उद्देश्य-सी निजी तरीकों का समर्थन क्यों नहीं करता है? कैसे सी का उपयोग कर कुंजीपटल से स्ट्रिंग को पढ़ने के लिए? चार में सेगमेंटेशन गलती हो रही है * पतली वेब सर्वर: `start_tcp_server ': git शाखा चेकआउट के बाद कोई स्वीकारकर्ता नहीं (रनटाइम) जीमेल ऐप की तरह एंड्रॉइड एकाधिक लाइन सूचना

.कीकोड बनाम। जो

मैंने सोचा था कि यह कहीं स्टैक अतिप्रवाह पर उत्तर दिया जाएगा, लेकिन मुझे यह नहीं मिल रहा है।

अगर मैं एक कुंजीपटल इवेंट के लिए सुन रहा हूँ, तो मुझे .keyCode या .which का प्रयोग करना चाहिए .which यह निर्धारित करने के लिए कि क्या Enter कुंजी दबाई गई थी?

मैंने हमेशा निम्न की तरह कुछ किया है:

 $("#someid").keypress(function(e) { if (e.keyCode === 13) { e.preventDefault(); // do something } }); 

लेकिन मैं उन उदाहरणों को देख रहा हूँ .which कि .keyCode बजाय। क्या फर्क पड़ता है? क्या एक और क्रॉस-ब्राउज़र अन्य की तुलना में अनुकूल है?

Solutions Collecting From Web of ".कीकोड बनाम। जो"

कुछ ब्राउज़रों का उपयोग keyCode , अन्य इसका उपयोग करते हैं यदि आप jQuery का उपयोग कर रहे हैं, तो आप मज़बूती से उपयोग कर सकते हैं which jQuery के रूपों को मानकीकृत करता है । यहां अधिक।


यदि आप jQuery का उपयोग नहीं कर रहे हैं, तो आप यह कर सकते हैं:

 var key = 'which' in e ? e.which : e.keyCode; 

या वैकल्पिक रूप से:

 var key = e.which || e.keyCode || 0; 

… जो इस संभावना को संभालता है कि e.which । जो हो सकता है 0 (अंत में उस 0 को पुन: स्थापित करके, जावास्क्रिप्ट की उत्सुकता से शक्तिशाली || ऑपरेटर )

jQuery सामान्य event.which जो कि event.which आधार पर निर्भर करता है। event.which , event.keyCode या event.charCode ब्राउज़र द्वारा समर्थित है:

 // Add which for key events if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { event.which = event.charCode != null ? event.charCode : event.keyCode; } 

का एक अतिरिक्त लाभ .which यह है कि jQuery यह माउस क्लिक के लिए भी करता है:

 // Add which for click: 1 === left; 2 === middle; 3 === right // Note: button is not normalized, so don't use it if ( !event.which && event.button !== undefined ) { event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); } 

इसे देखें: https://developer.mozilla.org/en-US/docs/Web/API/event.keyCode

एक कुंजीपटल घटना में, दबाए गए कुंजी का यूनिकोड मान को या तो कुंजी कोड या चारकोड प्रॉपर्टी में संग्रहित किया जाता है, कभी भी नहीं। यदि दबाए गए कुंजी एक चरित्र (जैसे 'ए') उत्पन्न करती है, तो चारकोडा उस वर्ण के कोड पर सेट होता है, जो पत्र केस का सम्मान करता है। (यानी चारकोडा इस बात को ध्यान में रखता है कि क्या शिफ्ट कुंजी को रोक दिया गया है)। अन्यथा, दबाए गए कुंजी का कोड keycode में संग्रहीत किया जाता है keycode हमेशा keydown और keyup घटनाओं में सेट है इन मामलों में, चारकोडा कभी सेट नहीं होता है कुंजी कोड का कोड प्राप्त करने के लिए चाहे वह कुंजी कोड या चारकोडा में संग्रहीत हो, उस प्रॉपर्टी को क्वेरी करें IME के ​​माध्यम से दर्ज किए गए पात्रों को मुख्य कोड या चारकोड के माध्यम से पंजीकृत नहीं किया जाता है

यदि आप वेनिला जावास्क्रिप्ट में रह रहे हैं, तो कृपया ध्यान दें की कुंजी को अब बहिष्कृत किया गया है और इसे हटा दिया जाएगा:

यह सुविधा वेब मानकों से हटा दी गई है। हालांकि कुछ ब्राउज़रों अभी भी इसका समर्थन कर सकते हैं, यह गिरावट की प्रक्रिया में है। इसे प्रयोग करने से बचें और यदि संभव हो तो मौजूदा कोड अपडेट करें; अपने निर्णय के मार्गदर्शन के लिए इस पृष्ठ के नीचे संगतता तालिका देखें ध्यान रखें कि यह सुविधा किसी भी समय काम करने के लिए समाप्त हो सकती है

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

इसके बजाय या तो उपयोग करें: .key या .code जो आप चाहते हैं उसके आधार पर: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code https://developer.mozilla.org/en -US / docs / वेब / एपीआई / KeyboardEvent / कुंजी

दोनों आधुनिक ब्राउज़रों पर लागू होते हैं

कीबोर्ड इनपुट और कुंजी संयोजनों को कैप्चर करने के लिए एक मजबूत जावास्क्रिप्ट लाइब्रेरी दर्ज की गई। इसमें कोई निर्भरता नहीं है

http://jaywcjlove.github.io/hotkeys/

 hotkeys('ctrl+a,ctrl+b,r,f', function(event,handler){ switch(handler.key){ case "ctrl+a":alert('you pressed ctrl+a!');break; case "ctrl+b":alert('you pressed ctrl+b!');break; case "r":alert('you pressed r!');break; case "f":alert('you pressed f!');break; } }); 

हॉटकीज़ निम्न संशोधकों को समझता है: , shift , option , , alt , ctrl , control , command , और

निम्नलिखित विशेष कुंजी को शॉर्टकट के लिए इस्तेमाल किया जा सकता है: backspace , tab , clear , enter , return , esc , escape , space , up , down , left , right , home , end , pagedown , pagedown , del , delete और f1 से f1