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

问题描述:

this example中,如何让每个节点的文本成为可点击的链接?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") 
    .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有这个attriubte:指针的事件:无; 我不得不删除它,然后按照以利亚的建议使用它。

不要使用链接,将其放置并直接附加到您的文本<g>,它应该工作。

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)} 

而如果你想通过实际d对象,你可以像下面这样做:

.on("click", yourFunction} 

在这种情况下,yourFunction(d,i)然后可以从绑定数据中引用d.whatever。

+0

谢谢,但我不能得到它的工作。这里是我使用的代码https://gist.github.com/3784067,这里是活动页面http://bl.ocks.org/3784067 –

+0

仍然不起作用。我只是将2行事件附件添加到原始代码中。要点/演示:https://gist.github.com/3785177 http://bl.ocks.org/3785177 –