使用jquery change事件时,tab键无法正常工作

时间:2013-04-25 13:35:31

标签: javascript jquery html

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

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

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

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

有没有人可以解释为什么会这样?谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

您可以手动为控件添加标签索引。我希望它能奏效。

$(function() {
  var tabindex = 1;
  $('input').each(function() {
     if (this.type != "hidden") {
       var $input = $(this);
       $input.attr("tabindex", tabindex);
       tabindex++;
     }
  });
});