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)
这不起作用。它只切换事件。
要阻止任何未来的缩放转换页面,请删除侦听器:
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
块顶部的按钮显示了这两种行为。
如果两者都不起作用/不是您正在寻找的,发布问题的工作示例将非常有帮助。您可能还想查看缩放文档。