2010-02-26 4 views
12

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

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

+3

Это стандартное поведение в firefox и, возможно, некоторые другие браузеры. Если вы используете javascript-библиотеку, я могу предложить способ переопределить это ... не так ли? –

+1

Это встроенная функция (по крайней мере, в IE8, Firefox, Chrome, Safari и Opera), позволяющая пользователям прокручивать вниз, не касаясь мыши. –

+5

Только одно предупреждение: изменение ожидаемого поведения браузеров просто потому, что вы не хотите, чтобы он работал таким образом на вашем веб-сайте, может заставить людей жаловаться. –

ответ

18

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

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

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

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

7

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

Время передумать свой макет.

Смежные вопросы