Как определить Space
document.addEventListener('keydown', (event) => {
if (event.key === " ") {
// Space was pressed
}
});
Используйте event.key, чтобы реагировать на смысл клавиши (он зависит от раскладки клавиатуры), и event.code для её физического положения, например WASD в играх. keyCode и which устарели: они всё ещё работают, но их значения различаются в разных браузерах и раскладках.
Как браузеры обрабатывают Space
Значение клавиши — это символ пробела, а не «Space». Space активирует кнопки и чекбоксы и прокручивает страницу, если больше никто её не обрабатывает. Вызовите preventDefault(), если ваш собственный элемент управления использует эту клавишу, иначе страница прокрутится.
В React
<input onKeyDown={(e) => { if (e.key === " ") { /* … */ } }} />Поиск keycode для JavaScript
Нажмите любую клавишу и сразу увидите все свойства события клавиатуры, а также готовый к копированию фрагмент keydown для горячих клавиш.