我知道onmouseover但是我的页面上有一个圆圈,当鼠标盘旋在它上面时会亮起来。但是当鼠标离开它时它会一直亮着,直到它再次徘徊,再次关闭时。它真的很烦人。是否有一条指令仅在悬停时触发?这是代码,但大多数情况下不相关
var node = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("circle")
.attr("class", "node")
.attr("r", function(d) { return d.group * 3; })
.style("fill", function(d) { return color(d.group); })
.call(force.drag)
.on('mouseover', connectedNodes)
.on("click", function(d) { getprofile(d); });
答案 0 :(得分:2)
您需要定义鼠标输出事件。 所以你的代码将是这样的:
var node = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("circle")
.attr("class", "node")
.attr("r", function(d) { return d.group * 3; })
.style("fill", function(d) { return color(d.group); })
.call(force.drag)
.on('mouseover', connectedNodes)
.on('mouseout', doSomethingCallback)
.on("click", function(d) { getprofile(d); });
function doSomethingCallback(){
fill your circle with the original color
}
答案 1 :(得分:1)
您正在寻找ls
。这是它的D3演示:http://bl.ocks.org/mbostock/5247027
答案 2 :(得分:1)
您可以使用.on('mouseout', function(){});
停止以鼠标悬停方式启动的功能。