Javascript jQuery-获取<;输入>;抛出按键事件
我试图得到一组输入之间的输入索引。基本上,我有一个表,在不止一行上包含许多输入 一旦用户按下“回车”按钮,当输入被聚焦时,我需要跳转到下一个输入字段,就像“tab”键那样 我一直在关注大家的反应,这就是我到目前为止所做的: 代码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
$(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”同样有效。