Отключить прокрутку браузера с помощью средней кнопки прокрутки мыши

На моей странице есть флэш-элемент, с которым вы взаимодействуете, используя среднее колесо прокрутки мыши. Страница длинная. Таким образом, при прокрутке колесиком мыши он взаимодействует с элементом Flash и прокручивает окно браузера.

Есть ли способ отключить прокрутку браузера, когда элемент Flash активен?


person Peter Craig    schedule 31.03.2010    source источник


Ответы (3)


Ты можешь использовать:

document.body.style.overflow=allowScroll?"":"hidden";

Где allowScroll — логическое значение.

person Maz    schedule 31.03.2010
comment
Очень просто, я должен был додуматься до этого сам. Теперь мне лень! Итак, чтобы завершить скрипт, при отключении прокрутки в браузере просто установите переключатель allowScroll = true/false. Спасибо! - person Peter Craig; 01.04.2010

<!-- disables browser mouse scrolling -->
<script type="text/javascript">
if(window.addEventListener){
    window.addEventListener('DOMMouseScroll',wheel,false);
}

function wheel(event)
{
    event.preventDefault();
    event.returnValue=false;
}
window.onmousewheel=document.onmousewheel=wheel;
</script>

Я «извлек» эту функцию из Flash MouseWheelTrap, которую можно найти здесь: http://code.google.com/p/mousewheeltrap/

person daslicht    schedule 10.06.2011
comment
Я предпочитаю это решение принятому, потому что оно также позволяет блокировать прокрутку с помощью перетаскивания средней кнопки. - person Kos; 31.08.2011

SWFWheel: http://www.libspark.org/wiki/SWFWheel/en

person imbrizi    schedule 05.03.2012