HTML元素:如何模拟按“标签”键

时间:2010-06-18 21:47:12

标签: javascript jquery tabs focus elements

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

谢谢!

(jQuery是一个选项)

2 个答案:

答案 0 :(得分:1)

像这样(使用jQuery):

    <!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>

答案 1 :(得分:0)

前一段时间需要模拟标签功能,现在我released it as a library使用了

  

EmulateTab:一个jQuery插件,用于模拟页面元素之间的标签。

你可以see how it works in the demo

if (myTextHasBeenFilledWithText) {
  // Tab to the next input after #my-text-input
  $("#my-text-input").emulateTab();
}