Придавливание клавиши "Пробел" прокручивает страницу?

У меня есть проблема, что я даже не уверен, что искать для фиксации. То, когда я нажимаю клавишу "Пробел", моя вся страница перемещается вверх (прокручивает вниз): Я не хочу, чтобы это произошло. Мой body тег разрабатывается к overflow:hidden, если это имеет какое-либо отношение к нему, таким образом, страница не будет иметь никаких полос прокрутки. Я обычно довольно хорош в выполнении предварительных методов поиска и устранения неисправностей, но в этом случае я даже не знаю, где запустить. Как я могу остановить это поведение?

Дополнительная информация: Я использую jQuery 1.4.2

17
задан Sz. 7 March 2018 в 21:46
поделиться

3 ответа

Если вы не съели нажатие клавиши это ожидаемое поведение в большинстве браузеров. Я использую его постоянно, и меня очень раздражает, когда он не работает на странице.

Но если вы хотите съесть ключ ...

window.onkeydown = function(e) { 
  return !(e.keyCode == 32);
};
22
ответ дан 30 November 2019 в 12:27
поделиться

Недостаточно просто скрыть переполнение; вы фактически должны сделать это , а не переполнение. Даже если вы можете отключить это поведение (съедание нажатия клавиш, перевод фокуса в какой-либо другой контейнер), пользователь все равно сможет прокручивать с помощью клавиатуры, перетаскивая текст на странице, удерживая среднюю кнопку мыши и т. Д. .. Это действительно зависит от их браузера, и пока контент технически видим , у них, вероятно, будет какой-то способ прокрутить его для просмотра.

Пора пересмотреть свой макет.

7
ответ дан 30 November 2019 в 12:27
поделиться

Поведение, которое вы описываете, довольно стандартное. Если вы создаете контент, который выше страницы, почему вы скрываете его часть?

2
ответ дан 30 November 2019 в 12:27
поделиться