当按下Tab键并且某个元素有焦点时,是否有某种方法可以知道焦点会跳到哪里?
我正在考虑以这种方式使用的东西:
var nextElement = whereWillFocusJumpTo(currentElement);
谢谢!
答案 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!");
});