如何在 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 });
因此您不会覆盖任何现有的事件处理程序
如何使用键盘上的箭头键从一个输入字段跳转到另一个输入字段?
这是我的尝试:
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 });
因此您不会覆盖任何现有的事件处理程序