मेरे पास एक व्यवस्थापक पैनल है, और मैं एक कीबोर्ड शॉर्टकट सेट करना चाहता हूं जो उपयोगकर्ता को इस पैनल पर रीडायरेक्ट करता है जब वह एक ही समय में {ए + डी + एम + एन} दबाता है।

मेरे पास यह कोड है:

document.onkeypress = function (e) {
    e = e || window.event;
    // use e.keyCode
};

लेकिन यह केवल एक कुंजी प्रेस के लिए काम करता है, यह एकाधिक कुंजी पहचान के लिए काम नहीं करता है।

साथ ही, मैं केवल (A+D+M+N) का पता नहीं लगाऊंगा, और यदि उपयोगकर्ता ने कीबोर्ड पर सभी बटन दबाए हैं, या (A+D+M+N+X+Z) उदाहरण के लिए, यह होना चाहिए प्रतिक्रिया नहीं।

इसे लागू करने के लिए कोई विचार या ढांचा?

0
Naki Assim 20 जुलाई 2019, 13:49

1 उत्तर

सबसे बढ़िया उत्तर

keyPressListener, एक पुस्तकालय है जिसे मैंने इस मामले के लिए विकसित किया है।

सबसे पहले, चूंकि आप बिना किसी अन्य कुंजी के केवल अपनी पसंदीदा कुंजियों का मिलान करना चाहते हैं, तो ignoreOtherInput को false पर सेट करना सुनिश्चित करें:

keyPressListener.config({ignoreOtherInput: false});

दूसरे, अब आप श्रोता समारोह को कॉल कर सकते हैं:

keyPressListener.when('A+D+M+N', function(){
  window.location.href = '/admin-panel'; // If user pressed (A+D+M+N), go to admin panel
});

इसलिए यदि उपयोगकर्ता (A+D+M+N) दबाता है तो वह उसे व्यवस्थापक पैनल पर पुनर्निर्देशित कर देगा और यदि उसने कीबोर्ड के सभी बटन दबाए हैं, या (Ctrl+A+D+M+N) उदाहरण के लिए, यह जीत गया प्रतिक्रिया नहीं।

अधिक: @https://github.com/RyadPasha/keyPressListener

0
RyadPasha 24 जुलाई 2019, 21:48