Код клавиши Escape в JavaScript

Для Escape, event.key — Escape, event.code — Escape, а устаревший keyCode — 27. Нажмите любую клавишу в Key Code Finder, чтобы увидеть её значения в реальном времени.

Обновлено

СвойствоЗначение
event.keyEscape
event.codeEscape
event.keyCode / which (устарело)27

Как определить Escape

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

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

Как браузеры обрабатывают Escape

Escape — стандартный способ закрыть диалоговые окна, меню и всплывающие элементы. Нативный <dialog> закрывается по Escape сам по себе и генерирует событие cancel. Браузеры также используют Escape для выхода из полноэкранного режима, и это нажатие обычно не передаётся странице.

В React

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

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

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