2013-08-19 8 views
8

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

कारण यह है कि मैं जावास्क्रिप्ट में ग्रिड व्यूअर के कुछ प्रकार बनाने रहा है, और मैं CTRL या शिफ्ट कुंजी के रूप में यह सबसे आम दर्शकों, संपादकों और इतने पर में काम करता है पकड़ कर अलग आइटम का चयन कार्यान्वित किया।

समस्या यह है कि जब पृष्ठ पर फ़ोकस कहीं भी नहीं होता है। उदाहरण के लिए मैं बुकमार्क में पेज जोड़ रहा हूं। तब मैं CTRL या SHIFT पर क्लिक करता हूं और आइटम पर क्लिक करता हूं, लेकिन यह सामान्य रूप से कार्य करता है क्योंकि कीडाउन ट्रिगर नहीं किया गया है।

इसे छोड़ने का कोई तरीका? शायद नहीं, लेकिन यह उन ग्राहकों के लिए भ्रमित हो सकता है जो इसे अपने स्वयं के स्पष्ट बग के रूप में मानेंगे।

+0

यदि वे इसे आपकी एक बग के रूप में देखते हैं, तो यह उनकी गलती है। यदि वे आपके पृष्ठ पर ध्यान केंद्रित नहीं करना चाहते हैं, तो उन्हें आपकी विशेषताएं – Ian

+2

नहीं मिलती हैं आप उन चाबियों को 'ऑनक्लिक' हैंडलर में भी देख सकते हैं ... – Teemu

+1

@Teemu अच्छा बिंदु। मुझे यकीन नहीं है कि 'कीडाउन' घटना का उपयोग क्यों किया जा रहा है। क्लिकिंग बिंदु पर सबकुछ जांचना चाहिए – Ian

उत्तर

15

आप शिफ्ट, Ctrl पता लगाने के लिए कोई भी महत्वपूर्ण घटनाओं की जरूरत नहीं है और Alt जब माउस क्लिक किया जाता है MDN

element.addEventListener('click', function (e) { 
    console.log(e.shiftKey); 
    console.log(e.ctrlKey); 
    console.log(e.altKey); 
}); 

A demo at jsFiddle:

घटना वस्तु इस जानकारी शामिल है।

इन गुणों को कीबोर्ड ईवेंट हैंडलर में भी पढ़ा जा सकता है।

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