Javascript 如何在D3可视化中包含链接';什么是文本元素?
我试图添加一个链接到D3可视化的文本元素: 我希望能够点击“flare”,“analytics”并导航到另一个页面,或者点击矩形并执行正常操作,即展开子树 我尝试了一些无效的方法:Javascript 如何在D3可视化中包含链接';什么是文本元素?,javascript,svg,d3.js,Javascript,Svg,D3.js,我试图添加一个链接到D3可视化的文本元素: 我希望能够点击“flare”,“analytics”并导航到另一个页面,或者点击矩形并执行正常操作,即展开子树 我尝试了一些无效的方法: 开启事件 我试图在svg:text元素中添加on事件: nodeEnter.append("svg:text") .attr("dy", 3.5) .attr("dx", 5.5) .text(function(d) { return d.name; }) .on("click",functio
事件开启
svg:text
元素中添加on
事件:
nodeEnter.append("svg:text")
.attr("dy", 3.5)
.attr("dx", 5.5)
.text(function(d) { return d.name; })
.on("click",function(d,i) { alert("Clicked on the text");});
元素外来对象
foreignObject
元素,如下所示:
nodeEnter.append("svg:foreignObject")
.style("float","right")
.attr("height", 100)
.attr("width", 100)
.append("div")
.html("<a href='#'>link</a>")
但它也不起作用
有什么建议吗?。在('click',函数(){})
上,只要您愿意,它就可以工作
- 选择了正确的节点
- 尚未使用css禁用文本元素上的指针事件
指针事件似乎吸引了人们的注意力,因为相当多的示例都有
指针事件:文本节点没有。我同意Matt关于:指针事件的回答。。。将此更改为css中的指针事件:所有
这就是我在力定向图中建立链接的方式:
svg = d3.select("body").append("svg");
svg.selectAll(".node")
.append("svg:a").attr("xlink:href", function(d){ return "generic.php?url=" + d.url })
.append("svg:text")
.text(function(d) { return d.name; })
.attr("dy", 3.5)
.attr("dx", 5.5)
.attr("text-anchor", "middle");
//The End ;-)
只要a)选择了正确的节点,b)没有用css禁用文本元素上的指针事件,on('click'函数(){})就可以工作。哦,没错!文本节点确实有指针事件:无代码>,它正在阻止该操作。谢谢你介意加上一个答案吗?这样我就可以把它标为正确了?
svg = d3.select("body").append("svg");
svg.selectAll(".node")
.append("svg:a").attr("xlink:href", function(d){ return "generic.php?url=" + d.url })
.append("svg:text")
.text(function(d) { return d.name; })
.attr("dy", 3.5)
.attr("dx", 5.5)
.attr("text-anchor", "middle");
//The End ;-)