【问题标题】:Disable browser scrolling with the middle mouse scroll button使用鼠标中键滚动按钮禁用浏览器滚动
【发布时间】:2011-02-02 23:39:21
【问题描述】:

我的页面上有一个 Flash 元素,您可以使用鼠标中键滚轮与之交互。页面很长。因此,当使用鼠标滚轮滚动时,它会与 Flash 元素交互并滚动浏览器窗口。

有没有办法在 Flash 元素处于活动状态时禁用浏览器滚动?

【问题讨论】:

    标签: javascript flash scroll mousewheel


    【解决方案1】:
    <!-- 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/

    【讨论】:

    • 我更喜欢这个解决方案而不是接受的解决方案,因为它还允许通过拖动中间按钮来阻止滚动。
    【解决方案2】:

    你可以使用:

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

    其中 allowScroll 是一个布尔值。

    【讨论】:

    • 很简单,我自己就应该想到的。现在我懒了!所以要完成脚本,当禁用浏览器滚动时,只需 swtich allowScroll = true/false。谢谢!
    【解决方案3】:
    window.onscroll = function() {
        document.body.scrollTop = 0;
    }
    

    【讨论】:

      【解决方案4】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-08
        • 1970-01-01
        • 1970-01-01
        • 2016-11-22
        相关资源
        最近更新 更多