Javascript HTML元素:如何模拟按下';选项卡';钥匙

Javascript HTML元素:如何模拟按下';选项卡';钥匙,javascript,jquery,tabs,focus,elements,Javascript,Jquery,Tabs,Focus,Elements,我想触发与在具有焦点的元素上按tab键时相同的效果。有没有办法做到这一点?我试图让焦点跳到下一个元素 谢谢 (jQuery是一个选项)类似这样的内容(使用jQuery): 哈哈,集中注意力! $(函数(){ var focusable=$('.focusable'), 最后一个元素索引=focusable.length-1, 当前_指数; 可聚焦。每个(功能(i){ $(此)。单击(函数(){ 当前_指数=i; }) }); $(“#触发按钮”)。单击(函数(){ 当前索引=(应该重置当前索引

我想触发与在具有焦点的元素上按tab键时相同的效果。有没有办法做到这一点?我试图让焦点跳到下一个元素

谢谢

(jQuery是一个选项)

类似这样的内容(使用jQuery):


哈哈,集中注意力!
$(函数(){
var focusable=$('.focusable'),
最后一个元素索引=focusable.length-1,
当前_指数;
可聚焦。每个(功能(i){
$(此)。单击(函数(){
当前_指数=i;
})
});
$(“#触发按钮”)。单击(函数(){
当前索引=(应该重置当前索引())?0:当前索引+1;
可聚焦[当前索引].focus();
});
函数应该重置当前索引(){
return(typeof(current_index)==“undefined”)| |(current_index==last_element_index)
}
});

不久前需要模拟选项卡功能,现在我已经使用了它

:一个jQuery插件,用于模拟页面上元素之间的制表符

你可以

if(MyTextHasbeenFilled WithText){
//制表符切换到#我的文本输入之后的下一个输入
$(“#我的文本输入”).emulateTab();
}

DanC可能重复,您是否找到了解决问题的方法?我有同样的任务。Stephen P,这不是重复,有些情况下很难在页面上找到下一个应该关注的活动元素。Stephen P,不,我没有找到答案。我重新构造了代码,使其或多或少能完成任务,但我无法模拟按tab键的效果。@whitered:添加了一个可能对您有帮助的新答案。
    <!DOCTYPE html>

    <html lang="en">

        <head>

            <title>LOL Focus!</title>

            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>

        </head>

        <form>
          <input class="focusable" type="text" value="lol"/>
          <input class="focusable" type="text" value="lol" />
          <input class="focusable" type="text" value="lol" />
          <input class="focusable" type="text" value="lol" />
          <input class="focusable" type="text" value="lol" />
          <input class="focusable" type="text" value="lol" />                 
        </form> 

        <input type="button" id="trigger_button" value="lol" />

        <script type="text/javascript">
        $(function() {

          var focusable = $('.focusable'),
              last_element_index = focusable.length - 1,
              current_index;

          focusable.each(function(i) {
            $(this).click(function() {
              current_index = i;
            })
          });

           $('#trigger_button').click(function() {
             current_index = (should_reset_current_index()) ? 0 : current_index + 1;
             focusable[current_index].focus();
           });

           function should_reset_current_index() {
             return (typeof(current_index) === 'undefined') || (current_index == last_element_index)
           }

        });
      </script>

    </html>