2

我从 jquery 事件中得到了一些奇怪的结果,尽管我不完全相信这是否是 jquery 问题。我希望一些 jquery 极客可以回答这个问题。

我的 html 页面中有以下代码片段,second一旦用户在输入框中输入长度为 9 的字符串,就可以将焦点更改为first输入框。这种自动对焦工作顺利。但是当我从输入框中按 Tab 时first,它总是跳过second输入框并转到下一个 html 元素到second输入框。

$("input.first").change(function (e){
    var text = $(this).val();
    if (text.length == 9){
        $("input[id='second']").focus();
    }
});

我尝试将tabindex属性放入 html 元素,但它仍然继续其不当行为。但最后,当我将change事件更改为keypress事件选项卡键时,开始按预期流动。

有没有人可以解释为什么会发生这种情况?感谢您的任何回答。

4

1 回答 1

1

您可以手动将选项卡索引添加到控件。我希望它会奏效。

$(function() {
  var tabindex = 1;
  $('input').each(function() {
     if (this.type != "hidden") {
       var $input = $(this);
       $input.attr("tabindex", tabindex);
       tabindex++;
     }
  });
});
于 2013-04-25T13:48:18.377 回答