Как определить «Стрелку вниз»
document.addEventListener('keydown', (event) => {
if (event.key === "ArrowDown") {
// Arrow Down was pressed
}
});
Используйте event.key, чтобы реагировать на значение клавиши (оно зависит от раскладки клавиатуры), и event.code для её физического положения, например WASD в играх. keyCode и which устарели: они по-прежнему работают, но их значения различаются в разных браузерах и раскладках.
Как браузеры обрабатывают «Стрелку вниз»
«Стрелка вниз» открывает нативные списки <select> (с Alt в Windows) и перемещает фокус к следующему пункту в меню и списках. Вызывайте preventDefault() в собственных виджетах, чтобы страница не прокручивалась.
В React
<input onKeyDown={(e) => { if (e.key === "ArrowDown") { /* … */ } }} />Поиск keycode для JavaScript
Нажмите любую клавишу и сразу увидите все свойства события клавиатуры, а также готовый к копированию фрагмент keydown для горячих клавиш.