使用jquery更改事件时,TAB键没有按预期工作

tab key is not working as expected when using jquery change event

本文关键字:工作 TAB jquery 事件 使用      更新时间:2023-09-26

我从jquery事件中得到了一些奇怪的结果,尽管我不完全确信这是否是jquery问题。我希望一些jquery爱好者能回答这个问题。

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

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

我试着把tabindex属性放到html元素,它仍然继续它的错误行为。但是最后,当我将change事件更改为keypress事件时,标签键开始像预期的那样流动。

有人能解释为什么会发生这种情况吗?谢谢你的回答。

您可以手动为控件添加TAB索引。我希望它能起作用。

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