Я хочу отключить прокрутку вниз, когда я нажал пробел. Это происходит только в firefox.
Я уже использую переполнение: скрытый и метатег.
Спасибо.
Я хочу отключить прокрутку вниз, когда я нажал пробел. Это происходит только в firefox.
Я уже использую переполнение: скрытый и метатег.
Спасибо.
Это должно сделать трюк. В нем указано, что при нажатии на пробел на странице/документе это не просто предотвращает его поведение по умолчанию, а возвращается к исходному состоянию.
return false, кажется, включает preventDefault. Источник
Проверить JQuery API для получения дополнительной информации о событиях, связанных с keydown - http://api.jquery.com/keydown/
window.onkeydown = function(e) {
return !(e.keyCode == 32);
};
Пример JQuery
$(document).keydown(function(e) {
if (e.which == 32) {
return false;
}
});
ИЗМЕНИТЬ
Как сказал @amber-de-black, "вышеуказанный код блокирует нажатие клавиши пробела на вводе HTML". Чтобы исправить это, вы e.target
, где именно вы хотите заблокировать пробел. Это может помешать пробелу блокировать другие элементы, такие как входы HTML.
В этом случае мы указываем пробел вместе с целью тела. Это предотвратит блокировку входов.
window.onkeydown = function(e) {
if (e.keyCode == 32 && e.target == document.body) {
e.preventDefault();
}
};
ПРИМЕЧАНИЕ. Если вы используете JQuery, используйте e.which
вместо e.keyCode
Источник.
The event.which property normalizes event.keyCode and event.charCode
JQuery действует как нормализатор для множества событий. Если это неожиданно для всех, кто это читает. Я рекомендую прочитать документацию Объект события.
Обнаружить, нажата ли пробел. Если это так, то предотвратите его поведение по умолчанию.
document.documentElement.addEventListener('keydown', function (e) {
if ( ( e.keycode || e.which ) == 32) {
e.preventDefault();
}
}, false);
Вы пытались захватить событие keydown в javascript? Если вы используете jQuery, вы можете прочитать больше о захвате ключевых событий здесь: http://api.jquery.com/keydown/
Если вы этого не сделаете, вы можете захватить и проигнорировать нажатие клавиши пробела, как описано здесь: fooobar.com/info/424637/...