【问题标题】:Prevent tabstop on A element (anchor link) in HTML防止 HTML 中 A 元素(锚链接)的制表符
【发布时间】:2010-12-06 08:53:35
【问题描述】:

是否可以取消 <a href="..."> 在任何浏览器中的制表符?我想在没有 Javascript 的情况下执行此操作。

【问题讨论】:

    标签: html anchor tabstop


    【解决方案1】:

    有些浏览器支持tabindex="-1" 属性,但不是全部,因为这不是标准行为。

    【讨论】:

    • 哦,太好了!谢谢!我已经检查过 FF3.5、IE8 和 CH3,它适用于所有三个。谢谢一百万!
    • 不用担心:就像 zzzzBov 声明 here 一样,HTML5 来拯救并标准化此功能。所以现在有罪的浏览器就是那些错过了这一点的浏览器。
    • 请记住,禁用超链接上的制表符会违反可访问性规则(例如,人们使用屏幕阅读器等)。如果您知道这对您的用户群来说不是问题,那么应该没问题。
    【解决方案2】:

    现代的、符合 HTML5 的浏览器支持 [tabindex] attribute,其中 -1 的值将阻止元素被切换到。

    如果值为负整数
    用户代理必须允许元素获得焦点,但不应允许使用顺序焦点导航到达元素。

    【讨论】:

    • 文档摘录总是有帮助的。 ;-) 这告诉我们,那些不支持它的人是少数,他们迟早会支持它。
    【解决方案3】:

    您可以将 JQuery 处理程序应用于要定位多个元素的元素,而无需制表位。

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

    这是一种方法......

    【讨论】:

      【解决方案4】:

      我认为您可以通过 javascript 执行此操作,您覆盖 window.onkeypressonkeydown,捕获标签按钮,并将焦点设置为所需的顺序。

      【讨论】:

      • 我很欣赏替代解决方案,即使它没有解决 OP 以及接受的答案。没必要贬低。
      • @Anthony DiSanti:确实如此,但在这种特殊情况下,我仍然不明白如果其他方法效果更好,为什么还要求助于 javascript?因此,如果它不是这个问题的答案,那为什么会出现在这里呢?没关系。如果某些事情不能以其他方式完成,Javascript 通常是最后一步。如果我侮辱了你,我很抱歉@Ammosi。我不是故意粗鲁的。感谢您迟到的答复。
      • 如果有基于标准的 HTML 或 CSS 解决方案,我同意避免使用 javascript。但是,在这种情况下没有。原贴不需要支持IE8和FF3.5之前的浏览器,但是对于我的工作我需要支持回IE6。因此 tabindex 解决方案不适用。不应气馁在具有最大市场份额的浏览器中提供唯一可行的解​​决方案。
      【解决方案5】:

      从您的锚标记中删除 href 属性

      【讨论】:

      • 如果我不能怎么办?
      • 如果愿意使用 javascript,尽管有问题要避免这种解决方案,要删除 href 属性,请使用 jquery document onload 和 $('[href="whatever-the-url-is"]').removeAttr('href');
      • 大声笑删除href
      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 2011-08-10
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多