如果按Tab键,HTML会在哪里重点关注?

时间:2010-06-17 20:19:34

标签: javascript html events dom focus

当按下Tab键并且某个元素有焦点时,是否有某种方法可以知道焦点会跳到哪里?

我正在考虑以这种方式使用的东西:

var nextElement = whereWillFocusJumpTo(currentElement);

谢谢!

6 个答案:

答案 0 :(得分:7)

确定标签顺序的算法如下: -

http://dev.w3.org/html5/spec/editing.html#sequential-focus-navigation

需要注意的一点是,如果多个元素的tabindex为0,则Tab键顺序取决于平台,因此您可能希望确保页面上的所有可聚焦元素都具有非零tabindex。

答案 1 :(得分:6)

使用HTML TABINDEX属性控制选项卡的位置。

<input name="email" tabindex="1"></input>
<input name="phone" tabindex="2"></input>

答案 2 :(得分:1)

也许您可以使用DOM枚举页面上的输入并阅读tabindex属性。

答案 3 :(得分:1)

通过脚本执行此操作会非常复杂,基本上(通常)输入类型(包括select,textarea,button)等以及链接(标签)和绑定到输入标签的标签标签都可以被聚焦,除非设置了tabindex属性,否则标记中的下一个标记将成为下一个类型/条件之一。

答案 4 :(得分:0)

只要您为页面上的所有对象设置了tabindex,就可以使用javascript从当前对象中查找下一个增量。

答案 5 :(得分:0)

我认为您可以使用jquery.Listen库来完成此任务。

这样的事情:

jQuery('table').listen( 'focusin', 'tr', function(){
    alert("you've focused on a row!");
});