2012-05-31 14 views
5

मैं एक विशिष्ट कुंजीफ्रेज़ दर्ज करते समय एक क्रिया करने के लिए एक jQuery प्लगइन विकसित करने की कोशिश कर रहा हूं।कुंजीपटल और कीप को संयोजित करें - jQuery

उदाहरण के लिए, मैं कुंजीपटल पर "हेल्लो" से मेल खाना चाहता हूं।

var controllerKey = []; 
$(window).keyup(function(evt) { 
    var code = evt.keyCode ? evt.keyCode : evt.which; 
    controllerKey.push(code); 
} 
[...] 

फिर, मैं अपने स्ट्रिंग "नमस्ते" (str.charCodeAt करने के लिए धन्यवाद()) और कुछ अन्य चीजों के साथ मेरी controllerKey तुलना लेकिन यह यहाँ महत्वपूर्ण नहीं है। सब कुछ इस बिंदु पर ठीक काम करता है।

मेरे समस्या होता है जब मैं "हैलो" मैच के लिए (वास्तव में जब स्ट्रिंग कुछ अपरकेस था) चाहता हूँ। मैंने फ़ोरम पर देखा कि कीप या कीडाउन कोई फर्क नहीं पड़ता है।

तो मैं कुंजीपटल का उपयोग करता हूं जो इसे बहुत अच्छी तरह से प्रबंधित करता है लेकिन कीप्रेस मुझे तीर कुंजी से मिलान करने की अनुमति नहीं देता है और इसलिए एक (क्रोम में)।

मैं जानना चाहता हूं कि कुंजीपटल और कीप को जोड़ना संभव है (केवल जब कुंजीप्रेस ईवेंट से मेल नहीं खाता है)।

अग्रिम धन्यवाद।

+0

क्या वे इस वाक्यांश को इनपुट के अंदर दर्ज कर रहे हैं? साथ ही आप अपनी समस्या का उल्लेख विभिन्न मामलों के तारों की तुलना कर रहे हैं और फिर आप कीप्रेस और कीप के बारे में पूछ रहे हैं? – lucuma

+0

नहीं। यह एक "कोनामी कोड" की तरह एक प्लगइन है लेकिन आपकी पसंद के पासवर्ड के साथ। मैं उपयोगकर्ता इनपुट –

+0

के साथ पहली स्ट्रिंग (कुंजी-वाक्यांश) की तुलना कर रहा हूं, मुझे लगता है कि मुझे यह जानना बहुत पुराना है कि कोनोमी कोड क्या है, हालांकि मैंने आपको दोनों घटनाओं को संयोजित करने का उत्तर प्रदान किया है .. – lucuma

उत्तर

9

आप उन्हें इस तरह संयोजित कर सकते हैं:

$(window).on('keyup keypress', function(e) { 
    if (e.type=="keyup") { 

    } else { 
     // it is keypress 
    } 
}); 
+0

परिणामस्वरूप आप आसानी से एस .toUpperCase() == t.toUpperCase() – lucuma

+0

द्वारा तारों की तुलना कर सकते हैं आपका उत्तर मेरी मदद करेगा। धन्यवाद। (मैं comparaison के लिए upperCase का उपयोग नहीं करना चाहता क्योंकि मैं इस जानकारी को रखना चाहता हूं) –

+0

आईई पर काम न करने के लिए इसका कोई कारण नहीं है? – RMiranda

2

आप क्रॉस ब्राउज़र केस संवेदी तुलना करने के लिए क्रम में एक छिपे हुए इनपुट और महत्वपूर्ण घटनाओं उपयोग कर सकते हैं।

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