获取d3树和中心点击节点的坐标

时间:2013-09-20 19:52:57

标签: layout tree d3.js click

我有一个点击事件监听器的树。我想将树重新放在用户点击的任何节点上。

如何在click事件中获取树节点的实际x / y值?

1 个答案:

答案 0 :(得分:3)

要获得x / y,您必须通过您已经应用的任何翻译将节点翻译回来:

http://jsfiddle.net/WLaVU显示了您想要的实例。

// click event handler 
function click_handler(d)
{
  // these dudes must be smooshed back through the same transform
  var x = xs(d);
  var y = ys(d);

  // normalize for width/height
  var new_x = (-x + (width / 2));
  var new_y = (-y + (height / 2));

  // move the main container g
  svg.attr("transform", "translate(" + new_x + "," + new_y + ")");
}