使用缩放行为绑定到缩放结束

时间:2012-11-12 22:35:11

标签: d3.js zoom

如果有一种方法可以在缩放行为转换结束时轻松绑定到某个事件 - 当用户使用鼠标或触摸移动图表的内容时,这将会很方便。这可能只是绑定所有的事件,或者这是人们用其他方式做的事情吗?

2 个答案:

答案 0 :(得分:3)

在d3 v4中,zoom.on类型名称已更改。它们现在是“开始”,“缩放”和“结束”。

  var d3zoom = d3.zoom()
    .on("start", zoomStartFunction)
    .on("zoom", zoomFunction)
    .on("end", zoomEndFunction);

  svg.call(d3zoom);

查看非常有用的docs

答案 1 :(得分:2)

我一直在寻找同样的东西,我找到了this post

你可以这样写:

var svg = outer.append("svg:g")
            .call(d3.behavior.zoom()
                    .on("zoom", rescale)
                    .on("zoomstart", zoomStart)
                    .on("zoomend", zoomEnd))
            .on("dblclick.zoom", null)
            .append("svg:g");

function zoomStart(){
    console.log("ZOOM START");
}

function zoomEnd(){
    console.log("ZOOM END");
}

希望它有所帮助。