Javascript d3树图缩放仅在节点上

Javascript d3树图缩放仅在节点上,javascript,jquery,d3.js,graph,Javascript,Jquery,D3.js,Graph,有人知道为什么缩放功能只在我在节点上而不是svg上时触发吗?我希望当鼠标在svg上时,缩放功能跳跳虎,而不仅仅是在节点上。如果有人能帮助我,那就太好了。也许有人知道如何将pan添加到图形中?平移图形的优先级不是最高的。缩放图形更为重要。 您需要附加一个包含所有节点且缩放侦听器可以对其进行操作的组 var svgGroup = baseSvg.append("g"); var baseSvg = d3.select("#tree-container").append("svg") .a

有人知道为什么缩放功能只在我在节点上而不是svg上时触发吗?我希望当鼠标在svg上时,缩放功能跳跳虎,而不仅仅是在节点上。如果有人能帮助我,那就太好了。也许有人知道如何将pan添加到图形中?平移图形的优先级不是最高的。缩放图形更为重要。


您需要附加一个包含所有节点且缩放侦听器可以对其进行操作的组

var svgGroup = baseSvg.append("g");

var baseSvg = d3.select("#tree-container").append("svg")
    .attr("width", viewerWidth)
    .attr("height", viewerHeight)
    .attr("class", "overlay")
    .call(zoomListener);

function zoom() {
    svgGroup.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
}

看看这个例子。Pan也显示在那里。

robschmuecker的例子有点不对劲。有时圆圈消失了。。。。但是谢谢:我不明白代码:也许有人有另一个解决方案?在我的代码里也有一个中联重科的。但还是不行哪部分你不明白?您是否尝试了如上所示的分组?
var svgGroup = baseSvg.append("g");

var baseSvg = d3.select("#tree-container").append("svg")
    .attr("width", viewerWidth)
    .attr("height", viewerHeight)
    .attr("class", "overlay")
    .call(zoomListener);

function zoom() {
    svgGroup.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
}