【问题标题】:How do I suppress window mouse wheel scrolling...?如何抑制窗口鼠标滚轮滚动...?
【发布时间】:2010-09-25 11:45:21
【问题描述】:

我正在开发嵌入在页面中的画布应用程序。我有它,因此您可以使用鼠标滚轮放大绘图,但不幸的是,它会滚动页面,因为它是文章的一部分。

当我在 dom 元素上滚动鼠标滚轮时,是否可以防止鼠标滚轮在窗口上滚动?!

【问题讨论】:

    标签: javascript scroll mousewheel zooming


    【解决方案1】:

    为鼠标滚轮(非 Gecko)/DOMMouseScroll(非 IE)附加事件处理程序并阻止其默认操作(即滚动内容):

    如果(元素.addEventListener) element.addEventListener("DOMMouseScroll", function(event) { event.preventDefault(); }, 错误的); 别的 element.attachEvent("鼠标滚轮", function() { 返回假; })

    希望这会有所帮助!

    【讨论】:

    • 如果元素是带有 需要 可滚动内容的 iframe?然后怎样呢?在那种情况下,这个技巧对我不起作用,在 iframe 对象上这样做。
    【解决方案2】:

    我知道这已经过时了,但这可能对 googlers 仍然有帮助。

    我编写了一个 jQuery 插件来处理这个问题:$.disablescroll

    它不仅处理鼠标滚轮,还处理通常会触发滚动的 touchmove 和 keypress 事件。

    // disable all scrolling:
    $(window).disablescroll();
    
    // enable scrolling again:
    $(window).disablescroll("undo");
    

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 2011-09-29
      相关资源
      最近更新 更多