Javascript D3取下';缩放';完全地
我正在尝试从svg中完全删除缩放Javascript D3取下';缩放';完全地,javascript,svg,d3.js,zooming,Javascript,Svg,D3.js,Zooming,我正在尝试从svg中完全删除缩放 zoom = d3.behavior.zoom() .x(userNodesScaleX) .y(userNodesScaleY) .on("zoom", zoomed); userMapSvg.call(zoom); 这在SVG的顶部添加了一个“rect.background”,防止鼠标事件到达SVG中的其他元素 所以我决定完全取消缩放。移除事件,移除该rect。我该怎么做 当前代码为 removeZoom = d3.behavior
zoom = d3.behavior.zoom()
.x(userNodesScaleX)
.y(userNodesScaleY)
.on("zoom", zoomed);
userMapSvg.call(zoom);
这在SVG的顶部添加了一个“rect.background”,防止鼠标事件到达SVG中的其他元素
所以我决定完全取消缩放。移除事件,移除该rect。我该怎么做
当前代码为
removeZoom = d3.behavior.zoom()
.on("zoom", null);
这不管用。它仅切换事件。要停止将来对页面进行的任何缩放,请删除侦听器:
zoom.on("zoom", null)
要撤消以前的缩放变换,请执行以下操作:
zoom.scale(1).translate([0,0]).event(userMapSvg)
bl.OCK顶部的按钮显示这两种行为
如果两者都不是你想要的,那么发布一个问题的工作示例将非常有帮助。您可能还需要查看。请尝试
userMapSvg.on(".zoom", null);
我发现的另一种工作方式是将缩放的范围和
.extent
和translateExtent
设置为宽度和高度元素(从而完全禁用缩放)。当然要将scaleExtent
设置为[1,1]。恐怕不行,@Adam。我正是按照问题中提到的那样使用它。NAZIK&rink.attendant-“zoom.on(“zoom”,null)”是对这个问题的回答,请参阅链接以了解它的作用示例。