У меня есть набор кнопок, которые запускают различные функции на странице.Пользователь может навести курсор на нужную кнопку и щелкнуть по ней, как обычно, или перемещаться по кнопкам с помощью клавиш со стрелками вверх и вниз и нажать клавишу ввода, чтобы вызвать соответствующую функцию.
Использование клавиш со стрелкамикнопка, которая в данный момент находится в фокусе, имеет цвет, отличный от других (зеленый).Кнопки, которые находятся на экране, также зеленые.
Поскольку сейчас все обстоит так, возможно, чтобы несколько кнопок были зелеными: зависшая и сфокусированная.Я не хочу, чтобы это произошло.
Идеальным решением было бы изменить фокусировку на ту, на которую наведите кнопку.Это возможно?Если так, как я могу достичь этого?Желательно, не прибегая к jQuery.
Вот с чем я работаю:
var inputs = document.getElementsByClassName("move");
for (var i = 0; i < inputs.length; i++)
inputs[i].addEventListener("keyup", function(event) {
if (event.keyCode == 38) {
if (this.previousElementSibling) {
this.previousElementSibling.focus();
}
} else if (event.keyCode == 40) {
if (this.nextElementSibling) {
this.nextElementSibling.focus();
}
}
}, false);
.move {
display: block;
width: 200px;
padding: 10px;
text-align: center;
background-color: aquamarine;
margin-top: 10px;
}
.move:hover, .move:focus {
background-color: greenyellow;
}
<input class="move" type="button" value="1" autofocus />
<input class="move" type="button" value="2" />
<input class="move" type="button" value="3" />