Нажатие пробела прокручивает страницу вниз? - PullRequest
15 голосов
/ 26 февраля 2010

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

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

Ответы [ 3 ]

22 голосов
/ 26 февраля 2010

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

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

window.onkeydown = function(e) { 
  return !(e.keyCode == 32);
};
7 голосов
/ 26 февраля 2010

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

Время переосмыслить свой макет.

2 голосов
/ 26 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...