【问题标题】:d3-js mouse wheel problems when activating and deactivating zoom behaviord3-js 激活和停用缩放行为时的鼠标滚轮问题
【发布时间】:2013-04-07 22:14:56
【问题描述】:

我激活和停用缩放行为,如 http://bl.ocks.org/benzguo/4370043 所示:

var zoom = d3.behavior.zoom().on("zoom", rescale)
// after adding the handler, the mouse wheel will still scroll the page

// activate
svg_g_element.call(zoom)
// now, the mouse wheel zoom

// desactivate
svg_g_element.call(d3.behavior.zoom().on("zoom")    

// now, the mouse wheel will neither zoom nor scroll while over the svg_g_element

如何建立默认的鼠标滚轮行为来滚动页面?或者示例中显示的方式不是停用缩放行为的最佳方式?

【问题讨论】:

    标签: javascript svg d3.js zooming mousewheel


    【解决方案1】:

    此代码也会在 Firefox 上禁用鼠标滚轮缩放。

    svg_g_element
          .on("mousewheel.zoom", null)
          .on("DOMMouseScroll.zoom", null) // disables older versions of Firefox
          .on("wheel.zoom", null) // disables newer versions of Firefox
    

    【讨论】:

      【解决方案2】:

      您可能希望专门为此禁用缩放鼠标滚轮事件。

      svg_g_element.on("mousewheel.zoom", null);
      

      【讨论】:

      • 我使用的是 3.3.2,这需要稍微修正。你必须使用 on("wheel.zoom", null)
      猜你喜欢
      • 2011-12-09
      • 2016-04-20
      • 2012-11-13
      • 1970-01-01
      • 2015-10-07
      • 2021-05-25
      • 2014-10-09
      • 2019-01-24
      • 1970-01-01
      相关资源
      最近更新 更多