如何在 javascript 中使用键盘按键切换输入字段?

How to switch input fields with keyboard keys in javascript?

如何使用键盘上的箭头键从一个输入字段跳转到另一个输入字段?

这是我的尝试:

document.onkeydown = (function(e1){
    if (e1.which == 39) { 
       F2();
    }
});

document.onkeydown = (function(e2){
    if (e2.which == 37) { 
       F1();
    }
});

function F1() {
  document.getElementById("right").focus();
  document.getElementById("left").blur();
}

function F2() {
  document.getElementById("right").blur();  
  document.getElementById("left").focus();
}
<input type="text" id="right">
<input type="text" id="left">

您的示例设置了第一个事件处理程序,然后用下一个覆盖它。

要做到这一点(使用您使用的方法),您需要将两个事件都添加到一个处理程序中。

document.onkeydown = (function(e){
    if (e.which == 39) { 
       F2();
    }
    if (e.which == 37) { 
       F1();
    }
});

function F1() {
  document.getElementById("right").focus();
  document.getElementById("left").blur();
}

function F2() {
  document.getElementById("right").blur();  
  document.getElementById("left").focus();
}

更好的方法是使用类似的东西:

document.addEventListener("keydown", function (e) { event code });

因此您不会覆盖任何现有的事件处理程序