D3防止双击缩放

时间:2014-07-29 02:42:43

标签: javascript svg d3.js

我有一个D3网络图,我正在尝试禁用双击缩放功能。 我使用它进行缩放:

    var zoom = d3.behavior.zoom().scaleExtent([minZoom, maxZoom]);
    zoom.on("zoom", function() {
            g.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
        });
   svg.call(zoom)

但是我似乎无法禁用双击缩放。当我使用下面的代码时,它会完全禁用缩放。

var zoom = d3.behavior.zoom().scaleExtent([minZoom, maxZoom]);
zoom.on("zoom", function() {
            g.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")").on("dblclick.zoom", null);
        });
   svg.call(zoom)

我也尝试过调用

    .on("dblclick.zoom", null)
单独在svg元素上的

也不起作用。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:24)

您需要致电

    .on("dblclick.zoom", null)

之后

    svg.call(zoom)

    svg.call(zoom).on("dblclick.zoom", null);