Javascript jQuery-获取<;输入>;抛出按键事件

Javascript jQuery-获取<;输入>;抛出按键事件,javascript,jquery,html,input,indexing,Javascript,Jquery,Html,Input,Indexing,我试图得到一组输入之间的输入索引。基本上,我有一个表,在不止一行上包含许多输入 一旦用户按下“回车”按钮,当输入被聚焦时,我需要跳转到下一个输入字段,就像“tab”键那样 我一直在关注大家的反应,这就是我到目前为止所做的: 代码 $(document).keypress(function(e){ if( e.which == 13 && e.target.nodeName == 'INPUT'){ var inputs = $("#inputsTable

我试图得到一组输入之间的输入索引。基本上,我有一个表,在不止一行上包含许多输入

一旦用户按下“回车”按钮,当输入被聚焦时,我需要跳转到下一个输入字段,就像“tab”键那样

我一直在关注大家的反应,这就是我到目前为止所做的:

代码

$(document).keypress(function(e){
    if( e.which == 13 && e.target.nodeName == 'INPUT'){
        var inputs = $("#inputsTable input.td_in");
        alert(inputs.index(this));
    }
});
$(document).keypress(function(e){
    if( e.which == 13 && e.target.nodeName == 'INPUT'){
        var inputs = $("#inputsTable input.td_in");
        alert(inputs.index(e.target));
    }
});
正如您所看到的,每次您聚焦一个输入,然后按ENTER键,弹出消息会显示“-1”

我做错了什么?我为这段代码苦苦挣扎了一个小时,现在我要放弃了


我发现用
e.target
替换
this
同样有效

代码

$(document).keypress(function(e){
    if( e.which == 13 && e.target.nodeName == 'INPUT'){
        var inputs = $("#inputsTable input.td_in");
        alert(inputs.index(this));
    }
});
$(document).keypress(function(e){
    if( e.which == 13 && e.target.nodeName == 'INPUT'){
        var inputs = $("#inputsTable input.td_in");
        alert(inputs.index(e.target));
    }
});

这是因为
引用的是
文档
,而不是您的
输入

使用,并在选择器中传递一个
输入.td_:

$('#inputsTable').on('keypress', 'input.td_in', function (e) {
    if( e.which == 13 ) {
        var inputs = $("#inputsTable input.td_in");
        alert(inputs.index(this));
    }
});
p.S.您可能应该这样做


谢谢您的回复!我发现,在我的示例中,使用“e.target”而不是“this”同样有效。