d3.js - 如何禁用 d3.behavior.zoom 的平移?

标签 d3.js

这个问题看起来很像this one ,但我仍然无法弄清楚是否可以使用 d3.behavior.zoom 但没有平移功能。换句话说,我只想使用滚轮放大/缩小。

这样做的原因是我希望能够在“可缩放”区域上刷。

谢谢!

最佳答案

假设您已经定义了缩放行为:

var zoom = d3.behavior.zoom().on('zoom', update);

当您将缩放行为应用于选择时,您可以取消注册它内部用于检测和响应某些交互的事件监听器。在你的情况下,你想要做这样的事情:
selection.call(zoom)
    .on("mousedown.zoom", null)
    .on("touchstart.zoom", null)
    .on("touchmove.zoom", null)
    .on("touchend.zoom", null);

我不确定您要删除触摸事件。这样做可能会消除双击缩放。你应该尝试这些。

关于d3.js - 如何禁用 d3.behavior.zoom 的平移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713528/

相关文章:

javascript - 使用仅显示唯一值的 D3 对列表进行排序

javascript ckeditor a.$.parentNode 为 null

d3.js - 在 D3 forceSimulation 中拖动一个节点时停止移动其他节点

javascript - 强制定向图错误, "Cannot Read Property ' Push' of Undefined"

javascript - D3 - 当悬停从同一数据条目的不同属性创建的圆形元素时,如何显示/隐藏文本元素?

javascript - 无法访问Json数据并在canvas d3js上绘制线条

d3.js - 根据新的 .csv 更新 choropleth 中的数据?

html - 如何增加 d3.js 中的 slider 长度

javascript - 在 d3 图表列下对齐表格列

d3.js - 在 D3 和 DC.js 中使用 Shamsi/Persian Date