2012-04-20 8 views
6

मैंने छिपी सामग्री को सुलभ बनाने के लिए tabindex विशेषता के साथ div टैबबबल बनाया है।टैबिन्डेक्स फोकस स्टाइल

वर्तमान में जब माउस के साथ क्लिक किया गया div ब्राउज़र :focus स्टाइल प्राप्त करता है।

क्या टैबबेल तत्व को केवल पर ध्यान केंद्रित करने का कोई तरीका है जब कीबोर्ड के माध्यम से उपयोग किया जाता है? एक एंकर तत्व डिफ़ॉल्ट रूप से यह है।

  • tabindex='0' साथ Div माउस और कीबोर्ड बातचीत पर ब्राउज़र फोकस शैलियों हो जाता है
  • एंकर कुंजीपटल बातचीत पर ब्राउज़र फोकस शैलियों हो जाता है केवल

मैं div लंगर का अनुकरण करना चाहते हैं। दुर्भाग्य से हालांकि यह एक एंकर बनाना एक विकल्प नहीं है।

कोई भी मदद महान होगी, मैं वास्तव में नुकसान में हूं। http://jsfiddle.net/LvXyL/2/

+0

FWIW: ऐसा लगता है कि आप जिस व्यवहार का वर्णन कर रहे हैं वह वास्तव में ब्राउज़र-निर्भर है: क्रोम में, div को माउस/कीबोर्ड पर फोकस शैली मिलती है लेकिन कीबोर्ड पर केवल एंकर ही वर्णन होता है; लेकिन आईई में, * दोनों * माउस या कीबोर्ड पर फोकस आयताकार प्राप्त करें; इस बीच फ़ायरफ़ॉक्स में, न तो फोकस रूपरेखा प्राप्त करें * जब तक उस फ्रेम में कीबोर्ड का उपयोग नहीं किया जाता है, और उसके बाद दोनों माउस या कीबोर्ड दोनों के लिए फोकस रूपरेखा प्राप्त करते हैं! – BrendanMcK

उत्तर

-1

आप जावास्क्रिप्ट का उपयोग कर सकते हैं, तो कोशिश उपयोग onclick विशेषता: -

संपादित करें> यहाँ एक उदाहरण है।

खो फोकस

onclick="this.focus()" सेट ध्यान देने के लिए के लिए onclick="this.blur()"

उदाहरण जहां DIV क्लिक खो ध्यान केंद्रित करने पर और A फोकस http://jsfiddle.net/LvXyL/6/

नुकसान सेट कर दिया जाता दिखाई फोकस शैली है अगर आप एक लंबी के लिए माउस कुंजी पकड़ पहर।

+0

उत्तर के लिए धन्यवाद, यह काफी करीब है लेकिन ध्यान माउस पर नीचे और तत्व को क्लिक करके खींचते समय रहता है। –

+1

इस.blur() का उपयोग करने की अनुशंसा नहीं की जाती है, क्योंकि यह सही कीबोर्ड उपयोग में हस्तक्षेप करेगा। एक टैबबेल div पर क्लिक करना * चाहिए * ध्यान केंद्रित करना चाहिए, लेकिन इसका उपयोग कर .blur() इसे रोकता है। – BrendanMcK

3

निश्चित रूप से केवल फोकस-क्लास को div, और शैली में जोड़ें। मैं रूपरेखा बनाम सीमा का उपयोग करने की सलाह देते हैं। मैंने पहेली को अपडेट किया।

div:focus {outline: blue solid 2px;} 

कुब ने जेएस समाधान का सुझाव दिया, लेकिन यदि आपको वास्तव में आवश्यकता नहीं है तो जेएस का उपयोग क्यों करें?

+0

क्योंकि, वह कीबोर्ड द्वारा केवल माउस द्वारा नहीं फोकस करना चाहता है। – kubedan

+0

और क्या होता है यदि उपयोगकर्ता ने जेएस बंद कर दिया हो? इस दृष्टिकोण में माउस और कीबोर्ड शामिल हैं। –

+0

यदि जेएस मेरे समाधान से बंद है, तो निश्चित रूप से काम नहीं करता है। – kubedan