var svg = d3.select("#svg");
svg.call(
d3.zoom().scaleExtent([0.5, 2]).on("zoom", zoomed)
);
var zoomed = function(){
d3.select(this).selectAll("g").attr("transform", d3.event.transform);
}
外部按钮
d3.select("#button").on("click", function(){
d3.zoom().scaleBy(svg, 1.1);
})
现在点击按钮,没有效果,没有触发zoomed方法,这应该怎么解决?
当调用上面代码时,d3应该会监听svg,把svg的缩放和平移的相关值放在zoom的transform的变量里。
运行一下面的demo,看看控制台的输出应该就能明白了。