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

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

Обновлено

СвойствоЗначение
event.keyDelete
event.codeDelete
event.keyCode / which (устарело)46

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

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

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

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

Delete удаляет символ справа от курсора или выбранный элемент в файловых менеджерах и списках. На ноутбуках Mac это Fn+Delete, потому что клавиша с надписью «delete» отправляет Backspace.

В React

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

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

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