D3 完全删除“缩放”

Sol*_*ong 3 javascript svg zooming d3.js

我正在尝试从 svg 中完全删除缩放。

zoom = d3.behavior.zoom()
    .x(userNodesScaleX)
    .y(userNodesScaleY)
    .on("zoom", zoomed);
userMapSvg.call(zoom);
Run Code Online (Sandbox Code Playgroud)

这在 SVG 的顶部添加了一个 'rect.background',防止鼠标事件到达 SVG 中的其他元素。

所以我决定完全删除缩放。删除事件,删除该矩形。我怎样才能做到这一点?

当前代码是

removeZoom = d3.behavior.zoom()
    .on("zoom", null);
Run Code Online (Sandbox Code Playgroud)

这不起作用。它只切换事件。

Ada*_*rce 5

要阻止任何未来的缩放转换页面,请删除侦听器:

zoom.on("zoom", null)
Run Code Online (Sandbox Code Playgroud)

要撤消先前的缩放变换:

zoom.scale(1).translate([0,0]).event(userMapSvg)
Run Code Online (Sandbox Code Playgroud)

http://bl.ocks.org/1wheel/6414125

块顶部的按钮显示了这两种行为。

如果两者都不起作用/不是您正在寻找的,发布问题的工作示例将非常有帮助。您可能还想查看缩放文档