Как определить клавиши Numpad
document.addEventListener('keydown', (event) => {
if (event.code.startsWith('Numpad')) {
// Numpad keys was pressed
}
});
Используйте event.key, чтобы реагировать на значение клавиши (оно зависит от раскладки клавиатуры), и event.code для её физического положения, например WASD в играх. keyCode и which устарели: они всё ещё работают, но их значения различаются у разных браузеров и раскладок.
Как браузеры обрабатывают клавиши Numpad
Цифры Numpad имеют тот же event.key, что и цифры верхнего ряда, но другие event.code (Numpad0–Numpad9) и keyCode 96–105. NumpadAdd — 107, NumpadSubtract — 109, NumpadMultiply — 106, NumpadDivide — 111 и NumpadDecimal — 110.
В React
<input onKeyDown={(e) => { if (e.code.startsWith('Numpad')) { /* … */ } }} />Поиск keycode для JavaScript
Нажмите любую клавишу и сразу увидите все свойства события клавиатуры, а также готовый к копированию фрагмент keydown для горячих клавиш.