我试图访问mousedover圈子的坐标,以便可以在同一位置绘制和制作新的圆圈。当用户点击页面时添加圆圈,因此在分配给它们的鼠标悬停属性上添加圆圈。
我试图通过
访问当前圈子的x,y位置var y = d3.select(currentCircle).attr("cy");
其中currentCircle是
var currentCircle = this;
但是,它始终提供null
currentCircle肯定拥有正确的SVG元素,因为调用console.log(currentCircle)时我们得到了
<circle transform="translate(590,358)" r="10" style="fill: rgb(0, 0, 0);"></circle>
在控制台中。
如何获得圆圈的x和y坐标?
链接中整个设置的小提琴
答案 0 :(得分:1)
罗伯特的评论:
原来我忘了在初始化时为圆圈设置cx和cy,所以这些属性在读取时显然为空。
.attr("cx", x)
.attr("cy", y)
设置初始圆圈pos而不是
.attr("transform", function(d, i) { return "translate("+x+","+y+")"; })