2015-02-24 15 views
5

द्वारा ब्राउज़र शॉर्टकट को ओवरराइड करें मैंने सी # का उपयोग करके एक Asp.net MVC4 वेब एप्लिकेशन बनाया है जिसे हम गतिशील रूप से सभी पृष्ठों के लिए कीबोर्ड शॉर्टकट बना सकते हैं। और हम उस पृष्ठ शॉर्टकट का उपयोग तुरंत विशिष्ट पृष्ठ पर जा सकते हैं। और समस्या अगर मैं कुंजीपटल शॉर्टकट CTRL + एक यह मेरे स्वयं के कस्टम पृष्ठ पर रीडायरेक्ट होने का नियम बना हर ब्राउज़र अपने स्वयं के डिफ़ॉल्ट shortcuts.For उदाहरणअपने स्वयं के कस्टम शॉर्टकट्स

है। लेकिन डिफ़ॉल्ट ब्राउज़र शॉर्टकट CTRL + इसके बजाय पृष्ठ से सभी का चयन करता है।

मैं अपने कस्टम शॉर्टकट को प्राथमिकता देने के लिए डिफ़ॉल्ट ब्राउज़र शॉर्टकट अक्षम करना चाहता हूं। क्या यह इन्हें प्राप्त करने का कोई तरीका है? मेरे कस्टम शॉर्टकट्स के लिए, मैंने jquery keyUp event का उपयोग किया। मैंने इंटरनेट पर खोज की, वहां jquery keyUp ईवेंट पर सुझाव है, preventDefault() का उपयोग करें। लेकिन अपने स्वयं के कस्टम शॉर्टकट तक पहुंचने के लिए, मैं keyUp event का उपयोग कर रहा हूं। तो मुझे डिफ़ॉल्ट अक्षम करने के लिए सुझाव बताएं सी #, jquery या किसी अन्य तरीके से सभी ब्राउज़रों में ब्राउज़र शॉर्टकट।

+0

मुझे यकीन है कि यह संभव नहीं है, कम से कम यह सभी ब्राउज़रों में भरोसेमंद काम नहीं करेगा। आप 'कीडाउन' का उपयोग करके महत्वपूर्ण घटनाओं को सुन सकते हैं और यह देखने के लिए ईवेंट जांच सकते हैं कि क्या CTRL दबाया गया था, लेकिन ब्राउज़र क्रोम आपके द्वारा जेएस में किए गए किसी भी शॉर्टकट को ओवरराइड करेगा। –

उत्तर

6

यह आपको से करने देंगे: के लिए Ctrl +एक

e.ctrlKey && String.fromCharCode(kc).toUpperCase() 

चेकों दबाना होगा।

$(document).on('keydown', function(e) { 
 
    var kc = e.which || e.keyCode; 
 

 
    if (e.ctrlKey && String.fromCharCode(kc).toUpperCase() == "A") { 
 
    e.preventDefault(); 
 
    console.log(String.fromCharCode(kc).toUpperCase()); 
 
    window.location.href = 'your url here'; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
adfasfasdfsda
आप दस्तावेज़ में क्लिक करना चाहिए ध्यान केंद्रित करने के लिए और फिर आप इसे परीक्षण कर सकते हैं।

+0

यदि Ctrl + F1 मेरी शॉर्टकट कुंजी है। लेकिन आईई डिफ़ॉल्ट में यह नया आईई ब्राउज़र खोल रहा है। मैंने इस कोड को आजमाया लेकिन अभी भी कोई उपयोग नहीं है। – venki

+0

आपका उत्तर शॉर्टकट कुंजियों जैसे ctrl + ए, ctrl + P प्राप्त करने के लिए उपयोगी है ... लेकिन ctrl + f1 से F12 या alt + F1 से F12 या Shift + F1 से F12 तक आ रहा है, मैं उन चीज़ों को प्राप्त करने में सक्षम नहीं हूं। – venki

-1

आपके पास प्रक्रिया सही थी। मुझे लगता है कि आप ऐसी चीजों में हेरफेर करने के लिए एएससीआई मानों का उपयोग कर सकते हैं उदाहरण के लिए: मैं एंटर कुंजी दबाकर इसका उपयोग करता हूं।

$('body').on('keypress', '#Selector-Id', function(e) { 
if (e.which == 13) { 
alert("Hi"); 
} 
}); 
+0

इन कोड में '.scratch-input' क्या है ?? – venki

+0

बस नियंत्रण के लिए एएससीआई कोड खोजें और ए 13 के बजाय उन मानों को दें (जो बटन एसीआईआई कोड दर्ज करें) और यह मुझे लगता है कि यह अच्छी तरह से मदद करता है! – Ila

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