2011-01-06 13 views
6

मैं थोड़ी देर के लिए js-hotkeys का उपयोग कर रहा हूं, इसे प्यार करता हूं।जेएस-हॉटकीज - कैसे बांधें? प्रश्न चिह्न

अब मैं से जुड़ना चाहता हूं? कुंजी, लेकिन यह समर्थित नहीं प्रतीत होता है। किसी को भी पता है कि क्यों और कैसे से बांधना है? प्रश्न चिह्न?

$(document).bind('keydown', '?',function (evt) { 
    alert('go'); 
}); 

उपरोक्त कोड काम नहीं करता है।

उत्तर

5

के बारे में क्या
$(document).bind('keyup', function (evt) { 
    if (evt.keyCode == 191) 
     alert("go"); 
}); 
+3

क्योंकि QWERTY कीबोर्ड पर यह केवल काम करता है "/" कुंजी पर है। जब आप "?" दबाते हैं, तो यह कुंजी कोड 1 9 1 ट्रिगर करता है, जो "/" है। – nickh

3

मेरा मानना ​​है कि घटना है कि क्या shift कुंजी दबाया गया था के लिए एक ध्वज है, तो आप शायद कुछ इस तरह करना चाहते हैं (मैं उपयोग नहीं किया है js-हॉटकी, तो मैं हो सकता है पूरी तरह से गलत हो):

$(document).bind('keydown', '/', function (evt) 
{ 
    if (evt.shiftKey) //or whatever the flag for the shift key may be 
    { 
    alert('go'); 
    } 
}); 
+1

बेशक, यह भी मानता है कि ''' '' '' कुंजी पर विकल्प है। यदि आप अर्थपूर्ण शॉर्टकट का उपयोग कर रहे हैं, तो संभवतः आप सही 'कुंजीकोड' – zzzzBov

+0

के लिए सुनना बेहतर कर रहे हैं, मुझे यह नहीं मिला है। आप कह रहे हैं कि मुझे शिफ्ट कुंजी + का उपयोग करना चाहिए? – AnApprentice

+0

मैं कह रहा हूं कि आपको इसे 'शिफ्ट कुंजी' और '/ 'कुंजी पर बांधना चाहिए क्योंकि यह मानक' qwerty' कीबोर्ड पर '?' बनाता है। – zzzzBov

2

खबरदार निम्न भी एक इनपुट बॉक्स के अंदर ट्रिगर किया जाएगा:

$(document).bind('keyup', function (evt) { 
    if (evt.keyCode == 191) 
     alert("go"); 
});

Solut आयन:

$(document).bind('keyup', function(e) { 
    if(e.keyCode === 191 && !$(e.target).is("input")) 
     alert("go"); 
});

ध्यान रखें कि एक ही बात texarea के लिए होगी।

0

का उपयोग js-हॉटकी, आप स्ट्रिंग का उपयोग प्रश्न चिह्न के लिए बाध्य होगा: "?"

shift+/ 
संबंधित मुद्दे