HTML में एक तत्व (एंकर लिंक) पर टैबस्टॉप को रोकें


152

क्या <a href="...">किसी भी ब्राउज़र में टैबस्टॉप होने से रद्द करना संभव है? मैं जावास्क्रिप्ट के बिना ऐसा करना चाहूंगा।

जवाबों:


265

कुछ ब्राउज़र tabindex="-1"विशेषता का समर्थन करते हैं, लेकिन उनमें से सभी नहीं, क्योंकि यह एक मानक व्यवहार नहीं है।


22
बहुत अच्छे! धन्यवाद! मैंने FF3.5, IE8 और CH3 के साथ जाँच की है और यह तीनों में काम करता है। बहुत - बहुत धन्यवाद!
रॉबर्ट कोरिटनिक

1
इसके बारे में कोई चिंता नहीं: यहाँ zzzzBov राज्यों की तरह , HTML5 बचाव में आया और इस कार्यक्षमता को मानकीकृत किया। तो अब दोषी ब्राउज़र वे हैं जो इसे याद करते हैं।
टेकनिक्विस्ट

1
ध्यान रखें कि हाइपरलिंक पर टैबस्टॉप को अक्षम करना पहुंच नियमों (जैसे स्क्रीन रीडर का उपयोग करने वाले लोग, आदि) के खिलाफ जाता है। यदि आप जानते हैं कि यह आपके उपयोगकर्ता आधार के लिए कोई समस्या नहीं है, तो यह ठीक होना चाहिए।
रिकार्डो सांचेज़

73

आधुनिक, एचटीएमएल 5 अनुरूप, ब्राउज़र उस [tabindex]विशेषता का समर्थन करते हैं , जहां एक मान -1तत्व को टैब करने से रोक देगा।

यदि मान एक ऋणात्मक पूर्णांक है
, तो उपयोगकर्ता एजेंट को तत्व को ध्यान केंद्रित करने की अनुमति देनी चाहिए, लेकिन अनुक्रमिक फोकस नेविगेशन का उपयोग करके तत्व तक पहुंचने की अनुमति नहीं देनी चाहिए।


1
प्रलेखन अंश हमेशा मदद करते हैं। ;-) इससे हमें पता चलता है कि जो लोग इसका समर्थन नहीं कर रहे हैं, उनमें से कुछ भी नहीं हैं और वे संभवतः इसका समर्थन जल्द या बाद में करेंगे।
रॉबर्ट कुरिटनिक

15

आप एक JQuery हैंडलर को उस तत्व पर लागू कर सकते हैं जिसे आप बिना टैब स्टॉप के कई तत्वों को लक्षित करना चाहते हैं।

$(document).ready(function () {
    $('.class').attr('tabindex', '-1');
});

करने का एक तरीका होगा ...।


6

मुझे लगता है कि आप जावास्क्रिप्ट द्वारा ऐसा कर सकते हैं, आप window.onkeypressया तो ओवरराइड करते हैं onkeydown, टैब बटन को फंसाते हैं, और वांछित क्रम पर ध्यान केंद्रित करते हैं।


2
मुझे नहीं पता कि आपने अन्य उत्तरों की जाँच की है विशेष रूप से स्वीकार किए गए एक के बारे में जो एक साल पहले उत्तर दिया गया था और जावास्क्रिप्ट का उपयोग किए बिना इस समस्या को हल किया ।
रॉबर्ट कोरिटनिक

2
मैं वैकल्पिक समाधान की सराहना करता हूं भले ही यह ओपी को स्वीकार किए गए उत्तर के रूप में संबोधित नहीं करता हो। कोई फर्क नहीं पड़ता।
एंथनी डिसेंटी

@Anthony DiSanti: यह सच है, लेकिन इस विशेष मामले में मैं अभी भी नहीं देख पाऊंगा कि कोई व्यक्ति जावास्क्रिप्ट का सहारा लेगा अगर कुछ और बेहतर काम करे? तो अगर यह इस सवाल का जवाब नहीं है कि यह यहाँ क्यों है? कोई बात नहीं। जावास्क्रिप्ट आमतौर पर अंतिम चरण एक होता है अगर कुछ चीजें अन्यथा नहीं की जा सकती हैं। और अगर मुझे आपका अपमान किया है तो मुझे @Aososi पर खेद है। मेरा मतलब असभ्य होना नहीं था। देर से जवाब के लिए धन्यवाद।
रॉबर्ट कोरिटनिक

7
यदि कोई मानक-आधारित HTML या CSS समाधान है तो मैं जावास्क्रिप्ट से बचने से सहमत हूं। हालाँकि, इस मामले में ऐसा नहीं है। मूल पोस्टर को IE8 और FF3.5 से पहले ब्राउज़रों का समर्थन करने की आवश्यकता नहीं थी, लेकिन मेरे काम के लिए मुझे IE6 पर वापस समर्थन करने की आवश्यकता है। टैबइंडेक्स समाधान इसलिए लागू नहीं है। ब्राउज़र में एकमात्र काम करने का समाधान प्रदान करना सबसे बड़ी बाजार हिस्सेदारी के साथ हतोत्साहित नहीं होना चाहिए।
एंथनी डिसेंटी

4

hrefअपने एंकर टैग से विशेषता निकालें


अगर मैं नहीं कर सकता तो क्या होगा?
हकन फिएस्टीक

अगर इस तरह के समाधान से बचने के लिए जावास्क्रिप्ट का उपयोग करने के लिए तैयार हैं, तो href विशेषताओं को हटाने के लिए, कुछ के साथ jquery दस्तावेज़ onload का उपयोग करें जैसे$('[href="whatever-the-url-is"]').removeAttr('href');
जोनास लुंडमैन

6
LOL ने href
quemeful
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.