Javascript 单击d3力节点上的函数

Javascript 单击d3力节点上的函数,javascript,d3.js,svg,force-layout,Javascript,D3.js,Svg,Force Layout,我想知道如何设置一个点击功能,这样当你点击任何一个节点时,除了每个组中心的节点之外,它会触发一个转换,通过从屏幕的左侧向右侧移动来显示一个svg矩形,我希望它一开始是隐藏的。由于某些原因,当我单击时,没有注册任何内容 还有,有人知道我如何从json中提取文本并将其附加到svg矩形中吗 var tooltip = svg.append("rect") .attr("x", 0) .attr("y", 0) .attr("width", 270

我想知道如何设置一个点击功能,这样当你点击任何一个节点时,除了每个组中心的节点之外,它会触发一个转换,通过从屏幕的左侧向右侧移动来显示一个svg矩形,我希望它一开始是隐藏的。由于某些原因,当我单击时,没有注册任何内容

还有,有人知道我如何从json中提取文本并将其附加到svg矩形中吗

    var tooltip = svg.append("rect")
        .attr("x", 0)
        .attr("y", 0)
        .attr("width", 270)
        .attr("height", height)
        .attr("color", "black")
        .attr("opacity", 0.8);

svg.selectAll("node").on("click", function() {
    d3.select(tooltip)
        .transition()
        .attr("x", -300)
        .duration(450);
});

以下是d3代码:

注意:我现在有矩形的初始x值和向后转换下的x值,这样您就可以看到svg矩形在单击后的显示位置。您的示例有很多问题-您在定义节点之前选择了错误的节点,您不能将D3选择与D3.select一起使用,并且不需要,您正在使用另一个不存在的函数覆盖单击处理程序。啊,好的,谢谢您的响应。那么,你知道如何用正确的方法来设置它以使其工作吗?另外,你提到有很多问题。你知道除了你特别提到的以外还有什么吗?你可以通过把代码放在正确的位置来很容易地移动矩形:哦,好的,我知道它现在是如何工作的了。如果我试图设置click函数,使其将节点对应的json文件中的文本附加到矩形内部,您知道我还有什么需要考虑的问题吗?如果您看到json文件(在这里),那么我要说的可能是有意义的。