2013-08-29 114 views
3

我试图从svg完全删除缩放。D3完全删除“缩放”

zoom = d3.behavior.zoom() 
    .x(userNodesScaleX) 
    .y(userNodesScaleY) 
    .on("zoom", zoomed); 
userMapSvg.call(zoom); 

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

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

当前的代码

removeZoom = d3.behavior.zoom() 
    .on("zoom", null); 

不工作。它只是切换事件。

回答

3

要停止任何未来的转化页面缩放,删除监听:

zoom.on("zoom", null) 

要撤销以前的缩放转换:

zoom.scale(1).translate([0,0]).event(userMapSvg) 

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

在了顶部的按钮bl.ocks显示两种行为。

如果两者都不工作/您正在寻找什么,发布问题的工作示例将非常有帮助。你可能也想看看zoom documentation

+0

恐怕不行,@Adam。正如问题中提到的那样,我正在使用它。 – SolessChong

+0

我已经用一个实例SolessCHong更新了答案。 –

+1

NAZIK&rink.attendant - 'zoom.on(“zoom”,null)'是对问题的回答,请参阅链接了解其功能的示例。 –

0

尝试

userMapSvg.on(".zoom", null);