当按下Tab键并且某个元素获得焦点时,有没有办法知道焦点会跳转到哪里?
我想到了一种这样使用的方法:
var nextElement = whereWillFocusJumpTo(currentElement);
谢谢!
当按下Tab键并且某个元素获得焦点时,有没有办法知道焦点会跳转到哪里?
我想到了一种这样使用的方法:
var nextElement = whereWillFocusJumpTo(currentElement);
谢谢!
<input name="email" tabindex="1"></input>
<input name="phone" tabindex="2"></input>
确定选项卡顺序的算法如下:
http://dev.w3.org/html5/spec/editing.html#sequential-focus-navigation
需要注意的一点是,如果有多个元素的tabindex为0,则选项卡顺序取决于平台,因此您可能希望确保页面上所有可聚焦的元素都具有非零tabindex。
通过脚本实现这个功能会非常复杂,通常情况下,包括选择框、文本框、按钮等输入类型(包括 select、textarea、button 等)以及与输入标签绑定的链接(a 标签)和标签标记都可以被聚焦,除非设置了 tabindex 属性,否则在您的标记中,下一个符合上述类型/条件的标签将成为下一个聚焦的标签。
我认为你可以使用jquery.Listen库来完成这个任务。
像这样:
jQuery('table').listen( 'focusin', 'tr', function(){
alert("you've focused on a row!");
});