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

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

Обновлено

СвойствоЗначение
event.keyArrowLeft
event.codeArrowLeft
event.keyCode / which (устаревшее)37

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

document.addEventListener('keydown', (event) => {
  if (event.key === "ArrowLeft") {
    // Arrow Left was pressed
  }
});

Используйте event.key, чтобы реагировать на то, что клавиша обозначает (значение зависит от раскладки клавиатуры), и event.code для её физического положения, например WASD в играх. keyCode и which устарели: они всё ещё работают, но их значения различаются в разных браузерах и раскладках.

Как браузеры обрабатывают «Стрелку влево»

Стрелка влево перемещает курсор или предыдущий элемент. В языках с написанием справа налево помните, что она визуально двигает влево, что соответствует логическому «следующему» символу.

В React

<input onKeyDown={(e) => { if (e.key === "ArrowLeft") { /* … */ } }} />

Часто задаваемые вопросы

Какой keyCode у стрелки влево?
37. Однако он устарел: в новом коде используйте event.key («ArrowLeft») или event.code (ArrowLeft).
В чём разница между event.key и event.code?
event.key — это символ или действие, которое клавиша выдаёт с текущей раскладкой; event.code — это физическое положение клавиши, одинаковое на любой раскладке.
Что использовать: keydown или keypress?
keydown. Событие keypress устарело и не срабатывает для клавиш, которые не выводят символы, например Escape или клавиши-стрелки.