Javascript d3.js强制有向图中的链接

Javascript d3.js强制有向图中的链接,javascript,svg,append,hyperlink,d3.js,Javascript,Svg,Append,Hyperlink,D3.js,在中,如何使每个节点的文本成为可单击的链接 我尝试了类似于此代码的操作,但无法单击值: var links = text.append("a").attr("xlink:href", "http://www.google.com/"); // A copy of the text with a thick white stroke for legibility. links.append("svg:text") .attr("x", 8) .attr("y", ".31em")

在中,如何使每个节点的文本成为可单击的链接

我尝试了类似于此代码的操作,但无法单击值:

var links = text.append("a").attr("xlink:href", "http://www.google.com/");

// A copy of the text with a thick white stroke for legibility.
links.append("svg:text")
    .attr("x", 8)
    .attr("y", ".31em")
    .attr("class", "shadow")
    .text(function(d) { return d.name; });

 links.append("svg:text")
    .attr("x", 8)
    .attr("y", ".31em")
    .text(function(d) { return d.name; });
编辑/解决方案:原来css有这样一个属性:指针事件:无;
我必须删除它,然后按照以利亚的建议使用。

不要使用链接,删除它并直接附加到你的文本
,它应该会起作用

text.append("svg:text")
        .attr("x", 8)
        .attr("y", ".31em")
        .attr("class", "shadow")
        .text(function(d) { return d.name; })
        .on("click", function() {yourFunction(yourVar)})
        .on("mouseover", function() {yourFunction2(yourVar)})
        .on("mouseout", function() {yourFunction3(yourVar)})
;
此外,如果要传递绑定的数据,可以这样做:

.on("click", function(d) {yourFunction(d.yourVar)}
.on("click", yourFunction}
然而,如果您想要传递实际的d对象,您可以这样做:

.on("click", function(d) {yourFunction(d.yourVar)}
.on("click", yourFunction}

在这种情况下,您的函数(d,i)就可以引用绑定数据中的d.。

谢谢,但我无法让它工作。这是我使用的代码,这是实时页面等待,Mike的原始要点从未附加元素,它附加了元素。如果您保持该模式,并且不尝试使用a href模式,那么它应该可以工作。我会调整我的答案,让我知道这是否有效。仍然无效。我刚刚在原始代码中添加了两行事件附件。要点/演示: