Код клавиши Minus (-) в JavaScript

Для минус (-) event.key — это - (or _ with Shift), event.code — это Minus, а устаревший keyCode — это 189. Нажмите любую клавишу в поиске кодов клавиш, чтобы увидеть её значения в реальном времени.

Обновлено

СвойствоЗначение
event.key- (or _ with Shift)
event.codeMinus
event.keyCode / which (устарело)189

Как определить минус (-)

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

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

Как браузеры обрабатывают минус (-)

Firefox исторически возвращал keyCode 173 для этой клавиши — ещё одна причина использовать event.key.

В React

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

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

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