Настройка переполнения: скрыто в body / html скрывает полосы прокрутки, но не отключает прокрутку в Firefox - PullRequest
1 голос
/ 29 мая 2011

Я могу отключить прокрутку в Chrome / Safari, но скрыть переполнение в теге body, но в Firefox это скрывает только полосы прокрутки, и я все еще могу прокручивать их с помощью клавиш со стрелками. Почему это?

Также я анимирую, используя jQuery, чтобы скользить вниз к определенной области на моей странице. С FF я должен анимировать тег html, но с Chrome / Safari это просто тело, которое мне нужно анимировать. Еще не тестировали в IE, но я ожидаю, что это будет мерзость: D.

Так почему же я могу отключить прокрутку тела на Chrome, но не FF?

Примечание: О, и я попытался установить переполнение, скрытое в теге html для FF, но это просто заставляет его перейти наверх (переполнение, скрытое на теле, прекрасно работает для обоих браузеров).

Ответы [ 4 ]

4 голосов
/ 29 мая 2011

Вы можете установить положение тела на «фиксированный»

2 голосов
/ 24 января 2012

Мне удалось добиться этого в Firefox, привязав прослушиватель jQuery для события keydown к элементу html и вернув false.

// Disable Scrolling by keys
$("html").keydown(function(event) {
    switch(event.keyCode) {
        case 32://space
        case 33://pgup
        case 34://pgdn
        case 35://end
        case 36://home
        case 37://left
        case 38://up
        case 39://right
        case 40://down
            return false;
    }
});

Я попробовал event.preventDefault() и * в jQuery1008 * без эффекта.

0 голосов
/ 23 августа 2012

если используется функция keydown, то прокрутка textarea с использованием клавиш не работает ... так что я сделал с кодом ниже. исправил проблему с прокруткой Firefox.

$(window).scroll(function () { 
  window.scrollTo(0,0);
});
0 голосов
/ 29 мая 2011

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

...