【问题标题】:html focus inputs with BOTH tabbing and focus()带有制表符和焦点()的html焦点输入
【发布时间】:2012-04-02 21:21:42
【问题描述】:

假设我有

<input id="a" />
<a href="foo">foo</a>
<input id="b" />

默认情况下,Tab 键会将我从 a 带到 foo 再到 b。如果我想直接从a 转到b,我可以这样做

document .getElementById ("a") .setAttribute ("tabindex", 1);
document .getElementById ("b") .setAttribute ("tabindex", 2);

但现在以下内容不起作用,因为focus() 显然需要tabindex=-1

document .getElementById ("b") .focus ();

我可以两者兼得吗?

【问题讨论】:

  • 旁注:如果您确保您的 HTML 有效,事情可能会变得更好。您的输入缺少 type 属性等。

标签: javascript html focus accessibility tabbing


【解决方案1】:

这不是我所看到的 (Chrome)。将您拥有的内容准确粘贴到http://jsfiddle.net/mendesjuan/wW7Uy/

将焦点放在第二个文本字段中,并且按预期的顺序排列(a->b->link)

【讨论】:

    【解决方案2】:

    您是否尝试过将您的 HTML 更改为:

    <input id="a" tabindex = "1" />
    <a href="foo" tabindex = "2">foo</a>
    <input id="b" tabindex = "3" />
    

    如果你想让浏览器跳过foo,你可以给它一个标签索引-1-1 告诉浏览器不要在该元素上制表位。

    如果我遗漏了什么,请告诉我。

    【讨论】:

      【解决方案3】:

      它突然开始工作了,不知道发生了什么变化。可能是缓存脚本。

      【讨论】:

        猜你喜欢
        • 2019-11-27
        • 1970-01-01
        • 2010-11-01
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        相关资源
        最近更新 更多