d3拖动路径不起作用

时间:2017-02-13 18:46:04

标签: javascript d3.js svg

我有这个代码用于配置围绕某些元素的路径,该路径名为cluster:

 cluster
            .data(getData()).enter()
            .append("path")  // notice SVG path elements
            //...
            .call(d3.behavior.drag()
            .on("drag", function (d, i) {
                d.x += d3.event.dx
                d.y += d3.event.dy
                console.log("d3.event.dx", d3.event.dx)  //prints a number
                cluster.attr("transform", function (d, i) {
                    return "translate(" + d3.event.dx +", "+ d3.event.dy + ")"
                })
            }));

除了群集路径的拖动功能外,一切正常。

如果我是console.log enter image description here

,这就是我得到的

1 个答案:

答案 0 :(得分:0)

不应该是d.x而不是d3.event.dx(同样适用于y)?

cluster.attr("transform", function (d, i) {
  return "translate(" + d.x + ", "+ d.y + ")"
})