Подтвердить что ты не робот

Нажатие пробела перемещает страницу вниз?

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

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

4b9b3361

Ответ 1

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

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

window.onkeydown = function(e) { 
  return !(e.keyCode == 32);
};

Ответ 2

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

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

Ответ 3

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