Javascript Jquery:On输入焦点next input

Javascript Jquery:On输入焦点next input,javascript,jquery,Javascript,Jquery,当前,当用户使用Jquery按enter键时,我正试图关注下一个输入类型。但是,由于某种原因,它没有检测到按键 输入类型位于名为mGrid的css类中 function addFocusSupport() { $(".mGrid").find('input').each(function (index, element) { // Here we get all the TextFields alert($(this)); $(this).

当前,当用户使用Jquery按enter键时,我正试图关注下一个输入类型。但是,由于某种原因,它没有检测到按键

输入类型位于名为mGrid的css类中

function addFocusSupport() {
    $(".mGrid").find('input').each(function (index, element) {
        // Here we get all the TextFields
        alert($(this));
        $(this).on("keypress",
            function (e) {
                if (e.KeyCode() === 13) {
                    // Focus next textfield
                    alert("Enter Pressed");
                    var nextElement = $('[index="' + (this.Index + 1) + '"]');
                    nextElement.focus();
                    alert(nextElement);
                    e.preventDefault();
                }
                // TODO: For last TextField, do nothing
            });
    });
}
所以我想做的是: 用户填写第一个输入,按enter键,然后自动选择下一个文本框。将其视为按下的选项卡


但是如果(e.KeyCode()==13){之后的事件从未触发?

更改:

if(e.KeyCode()==13){

至:

if(e.which==13){


KeyCode()
不是获取KeyCode的正确方法。您考虑的是已弃用的
event.KeyCode
。如果您使用的是jQuery,
event.event
已规范化,可在所有浏览器上使用。如果没有jQuery,请确保检查所有情况:

var key=event.which | | event.charCode | | event.keyCode


要聚焦下一个输入元素,请执行以下操作:


$(this).next('input').focus();

您可以使用以下代码

$(function() {
  $(".mGrid >input").off('keyup').on('keyup', function(e) {
    if (e.which === 13) {
      $(this).next('input').focus();
    }
  });
});
这是一个正在工作的Jsfiddle


希望这将帮助您

在我的情况下,以下代码工作正常

$('body').on('keydown', 'input, select', function(e) {
  if (e.which === 13) {
    var self = $(this), form = self.parents('form:eq(0)'), focusable, next;
    focusable = form.find('input').filter(':visible');
    next = focusable.eq(focusable.index(this)+1);
    if (next.length) {
        next.focus();
    }
    return false;
  }
});

它是
e.keyCode
,带有一个负k
keyCode
不是一个函数。所以使用
e.keyCode
谢谢。这会触发警报。因此事件被按下。现在我只需调试为什么它没有将焦点放在下一个txtbox@ker1072;аааиаааа上很好。我已经更新了关于下一个文本框焦点的答案。我已经切换了这是一个事件,尽管焦点不适用于我@kerkаааааааааааааааа将找到此的直接同级。您的输入元素是同级的吗?非常感谢。我发现代码中还有其他地方出了问题,因为小提琴工作正常!当输入不是同级时,它会像一个符咒一样工作。