Javascript d3悬停在图例上,如何确定id

Javascript d3悬停在图例上,如何确定id,javascript,d3.js,infovis,Javascript,D3.js,Infovis,我试图确定,当我悬停在某个图例项上时,如何知道我悬停在哪个图例项上 // draw legend colored rectangles legend.append("rect") .attr("x", width + 170) .attr("width", 18) .attr("height", 18) .on("mouseover", function(d) { }) .style("fill", color); 现在,图例中有3个矩形。如何获

我试图确定,当我悬停在某个图例项上时,如何知道我悬停在哪个图例项上

// draw legend colored rectangles
legend.append("rect")
    .attr("x", width + 170)
    .attr("width", 18)
    .attr("height", 18)
    .on("mouseover", function(d) {
    })
    .style("fill", color);

现在,图例中有3个矩形。如何获取悬停在其上的矩形的id

在mouseover处理程序中,
这是触发事件的DOM元素。所以你可以做一些像

.on("mouseover", function(d) {
    d3.select(this).attr('id');// presumes that <rect> has an id!
})
.on(“鼠标悬停”,函数(d){
d3.select(this.attr('id');//假定它有一个id!
})
要将id分配给rect,您可以在其上调用
.attr('id','some_id')


但是如果你处于一个你没有在ID上有ID的阶段(尽管你把你的帖子命名为什么),那么考虑使用D3的数据绑定和输入、更新、(退出)选择来创建你的传说,并在<代码>鼠标操作> /代码>函数中使用<代码> d <代码>来确定哪个传说元素正在被交互。(而不是在DOM元素上使用id)。

是否将数据绑定到图例选择?如何将id分配给矩形?