是否有一个javascript命令只能在鼠标结束时运行但在没有结束时停止运行'

时间:2015-06-16 18:06:13

标签: javascript d3.js

我知道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); });

3 个答案:

答案 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(){});停止以鼠标悬停方式启动的功能。