2013-08-29 41 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);