2012-02-02 16 views
8

यह एक आवर्ती पेचीदा प्रश्न हो रहा है लेकिन मैं अभी भी एक ठीक है और न ही इसके लिए वैकल्पिक हल नहीं है:accesskey वी.एस. नाविक कीबोर्ड शॉर्टकट

वहाँ कीबोर्ड शॉर्टकट से पहले accesskeys अवरोधन के लिए एक रास्ता है?

मैं अपने पसंदीदा नाविक IE और भी एफएफ पर accesskeys उपयोग करने की आवश्यकता है, लेकिन मैं मौजूदा shortkeys विचार करने के लिए के रूप में सुरक्षित wan't नहीं। अन्यथा यह कई संभावनाएं नहीं छोड़ता है (वर्तमान में मैं केवल संख्याओं का उपयोग करता हूं)।

नोट: accesskey द्वारा, मेरा मतलब है accesskey एचटीएमएल विशेषता।

कोई विचार? फ्लैश ऐप्स ऐसा कर सकते हैं, तो जावास्क्रिप्ट के बारे में क्या? जब मैंने इसे सक्रिय करने के लिए मैं सिर्फ खुला फ़ाइल मेनू की कोशिश

<button onclick="alert('Hello');" accesskey="F">Alt+F to activate</button> 

: (

+2

** नोट ** आप फ़ायरफ़ॉक्स के साथ समस्या को पूरा नहीं करेंगे क्योंकि accesskeys * Shift + Alt + [key] * और * Alt + [key] * के साथ मेनू के साथ सक्रिय हैं। – sinsedrix

+0

यदि आप कीडाउन हैंडलर का उपयोग करते हैं, तो आप डिफ़ॉल्ट व्यवहार को अवरुद्ध कर सकते हैं। एक्सेस कुंजियों के साथ, मेरा अनुभव (लगभग 2 साल पहले) यह है कि आपको यह सुनिश्चित करने की ज़रूरत है कि वे मेनू विकल्पों के साथ संघर्ष नहीं करते हैं, जो बहुत ही उपयोगी नहीं है –

+2

मुझे आशा है कि उत्तर नहीं है।मैं नहीं चाहता कि कोई पुराना वेब पेज मेरे कीबोर्ड कमांड को हाय-जैक करने में सक्षम हो। जब मैं * Alt + F * स्ट्राइक करता हूं तो मुझे फ़ाइल मेनू चाहिए। – Umbrella

उत्तर

1

जॉन Resig (jQuery के निर्माता) 'कर दिया गया है


उदाहरण यहां के लिए एक सुलभ नियंत्रण है jQuery के लिए एक "हॉटकी" ऐड-ऑन जो आप के लिए क्या देख रहे करना चाहिए पर काम कर रहा।

https://github.com/jeresig/jquery.hotkeys

मुझे पता है कि यह 'jQuery प्रश्न' नहीं है, और कुछ 'छोटे' के लिए एक ढांचा जोड़ना आदर्श नहीं है, लेकिन इसे समाधान प्रदान करना चाहिए। दूसरी तरफ, आप हमेशा देख सकते हैं कि उसने प्रेरणा के लिए यह कैसे किया।

+0

यह एक jQuery समाधान हो सकता है। मैंने इस प्लगइन के बारे में पढ़ा है, लेकिन यह फिट नहीं है, क्योंकि परिशिष्ट का कहना है कि डिफ़ॉल्ट व्यवहार को भी निकाल दिया जाएगा: "अन्य, (आईई) या तो आपको अंतर्निहित शॉर्ट-कट को संभालने देते हैं, लेकिन आपके कोड को निष्पादित करने के बाद उनकी कार्यक्षमता जोड़ दी जाएगी । " – sinsedrix

0

यह स्पष्ट रूप से ब्राउज़र पर निर्भर करेगा। "तीन बड़ी" के लिए:

  • फ़ायरफ़ॉक्स: मेनू शॉर्टकट Alt उपयोग करते हैं, "accesskey" शॉर्टकट शिफ्टAlt उपयोग करते हैं, तो कोई विरोधाभास नहीं होगा।
  • गूगल क्रोम: शॉर्टकट के दोनों प्रकार के Alt उपयोग करें, और मेनू शॉर्टकट, पूर्वता, लेकिन ले अगर वहाँ एक संघर्ष है, "accesskey" शॉर्टकट का उपयोग शिफ्टAlt, इसलिए वे अभी भी सुलभ हैं। उदाहरण के लिए Disable Alt functions (shortcuts) in Google Chrome पर मेरा उत्तर देखें।
  • इंटरनेट एक्सप्लोरर: शॉर्टकट के दोनों प्रकार के Alt, और प्रयोग "accesskey" शॉर्टकट प्राथमिकता दी जाती है - तुम सिर्फ क्या चाहते हैं :-)।

संक्षेप में: नहीं, जावास्क्रिप्ट में ब्राउज़र के व्यवहार (और यकीनन लगाए जो सुरक्षा भेद्यता होगा) ओवरराइड करने के लिए कोई रास्ता नहीं है, लेकिन सभी ब्राउज़र इन संघर्षों को संभालने के लिए तरीके हैं।

+0

और क्यों "बड़े तीन" आईई में, ओपेरा नहीं है? : ओ) – Legionar

+0

@ लीगियन: ईमानदार होने के लिए, क्योंकि मेरे पास ओपेरा आसान नहीं था (जैसे कि कॉन्करर, सफारी, एंड्रॉइड ब्राउज़र ...) :-)। अगर आपके पास अन्य ब्राउज़रों पर जानकारी है तो उत्तर को संपादित करने के लिए स्वतंत्र महसूस करें। – sleske

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