Код клавиши «Стрелка вниз» в JavaScript

Для Стрелки вниз event.key — это ArrowDown, event.code — это ArrowDown, а устаревший keyCode — это 40. Нажмите любую клавишу в Поиске кода клавиши, чтобы увидеть её значения в реальном времени.

Обновлено

СвойствоЗначение
event.keyArrowDown
event.codeArrowDown
event.keyCode / which (устарело)40

Как определить «Стрелку вниз»

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 у «Стрелки вниз»?
40. Однако он устарел: в новом коде используйте event.key («ArrowDown») или event.code (ArrowDown).
В чём разница между event.key и event.code?
event.key — это символ или действие, которое клавиша выдаёт с текущей раскладкой; event.code — физическое положение клавиши, одинаковое на любой раскладке.
Что использовать: keydown или keypress?
keydown. Событие keypress устарело и не срабатывает для клавиш, которые не выводят символы, например Escape или стрелки.