我正在使用 d3.js 并尝试在鼠标悬停时突出显示一个元素。我的问题是我的矩形在鼠标悬停时会改变颜色,但在鼠标悬停时不会变回。元素有许多不同的颜色,所以我不能硬编码矩形在鼠标移出时应该得到什么颜色。
这是我的代码
我制作矩形的代码
nodeEnter.append("svg:rect")
.attr("y", -barHeight / 2)
.attr("height", barHeight)
.attr("width", barWidth)
.style("fill", color)
.on("click", click)
.on("mouseover", seres.utilities.highlight)
.on("mouseout", seres.utilities.downlight);
上面代码中调用的颜色函数
function color(d) {
return d._children ? "#3c3c3c" : d.children ? "#c2bcbc" : "#ffffff";
}
实用程序代码
var myMouseOver = function() {
var rect = d3.select(this);
rect.style("fill", "red");
}
var myMouseOut = function() {
var rect = d3.select(this);
rect.style("fill", 'DONTKNOWWHATTOPUTHERE');
}