Нажатие пробела перемещает страницу вниз?
У меня есть проблема, что я даже не уверен, что искать, чтобы исправить. Когда я нажимаю клавишу пробела, вся моя страница движется вниз: я не хочу, чтобы это произошло. Мой тег body
имеет стиль overflow:hidden
, если это имеет какое-либо отношение к нему, поэтому на странице не будет никаких полос прокрутки. Обычно я хорошо разбираюсь в предварительных методах устранения неполадок, но в этом случае я даже не знаю, с чего начать. Как я могу остановить это поведение?
Дополнительная информация: Я использую jQuery 1.4.2
Ответы
Ответ 1
Если вы не едите нажатие клавиши, это ожидаемое поведение в большинстве браузеров. Я использую его все время, и я очень раздражаюсь, когда он не работает на странице.
Но если вы хотите съесть ключ...
window.onkeydown = function(e) {
return !(e.keyCode == 32);
};
Ответ 2
Этого недостаточно, чтобы просто скрыть переполнение; вы на самом деле должны сделать это не переполнением. Даже если вы можете отключить поведение (съедая нажатие клавиши, помещая фокус внутри какого-либо другого контейнера), пользователь может по-прежнему иметь возможность прокручивать клавиатуру, перетаскивая текст на странице, удерживая среднюю кнопку мыши и т.д... Это действительно зависит от их браузера, и пока контент по-прежнему технически заметен, у них, вероятно, есть возможность просмотреть его в представлении.
Время переосмыслить ваш макет.
Ответ 3
Поведение, которое вы описываете, довольно стандартно. Если вы создаете контент, который выше страницы, почему вы скрываете его?