JS按方向键输入框焦点转移
时间: 2023-04-04 08:00:35 浏览: 71
可以使用 JavaScript 监听键盘事件,当用户按下方向键时,获取当前输入框的焦点,然后将焦点转移到下一个或上一个输入框。具体实现可以参考以下代码:
```
// 获取所有输入框
var inputs = document.getElementsByTagName('input');
// 监听键盘事件
document.addEventListener('keydown', function(event) {
var target = event.target; // 获取当前焦点元素
var index = Array.prototype.indexOf.call(inputs, target); // 获取当前焦点元素在数组中的索引
// 判断按下的键是否是方向键
if (event.keyCode === 37 || event.keyCode === 38 || event.keyCode === 39 || event.keyCode === 40) {
event.preventDefault(); // 阻止默认行为
// 根据按下的方向键,计算下一个焦点元素的索引
if (event.keyCode === 37 || event.keyCode === 38) { // 左或上
index = index > ? index - 1 : inputs.length - 1;
} else { // 右或下
index = index < inputs.length - 1 ? index + 1 : ;
}
inputs[index].focus(); // 将焦点转移到下一个或上一个输入框
}
});
```