Javascript D3-单击时添加文本
当用户单击一个小的绘制节点(d3)时,我试图添加并删除一点文本。我有点击功能,但我正在努力添加一些文本。这是我所拥有的-Javascript D3-单击时添加文本,javascript,d3.js,Javascript,D3.js,当用户单击一个小的绘制节点(d3)时,我试图添加并删除一点文本。我有点击功能,但我正在努力添加一些文本。这是我所拥有的- .on("click",function(d){ d3.select(this) .append("text") .attr("dx", function(d){return -20}) .text(function(d){return d.depth}) .transition()
.on("click",function(d){
d3.select(this)
.append("text")
.attr("dx", function(d){return -20})
.text(function(d){return d.depth})
.transition()
.duration(600)
.attr("r",function(d){
return d.depth;
})
.attr("opacity", 0.1)
.transition()
.duration(2000)
.attr("r",function(d){
return d.magnitude/1.5;
})
.attr("opacity", 0.8)
//remove text here
})
如果我没有像这样的文本的附加部分,那么它就可以正常工作了-
.on("click",function(d){
d3.select(this)
.transition()
.duration(600)
.attr("r",function(d){
return d.depth;
})
.attr("opacity", 0.1)
.transition()
.duration(2000)
.attr("r",function(d){
return d.magnitude/1.5;
})
.attr("opacity", 0.8)
})
所以我只是想让文本弹出,然后删除动画完成后 请记住,您不能将
text
元素附加到任何元素中--它必须是g
元素。@Larskothoff它被链接到了一个g上-我意识到它显示在dom上,我只是因为任何原因看不到它,可能需要样式?很难说<但是,code>text元素没有r
属性。在没有转换的情况下,它可以工作吗?我想你可以尝试在d3.select(这个)元素的属性之后添加.text,我猜这是一个圆。我相信这是一个可能的解决办法