工具提示有时会被挂在mouseout上

时间:2018-07-04 13:03:23

标签: javascript d3.js

经过几天的努力,我终于完成了第一个D3.js布局。感谢所有人的支持。

我在mouseout事件处理中遇到了一个小问题。我在节点mouseover上添加了动态工具提示,但是在mouseout上它有时挂起。它并非总是会发生,但是有时&当我再次mouseovermouseout时,它会按预期消失。

这是代码段:

link.on("mouseover.2", function(d) {
    link_tooltip.transition()
      .duration(200)
      .style("opacity", .9)
      .style("visibility", "visible");
    link_tooltip.html(d.tooltip)
      .style("left", (d3.event.pageX) + "px")
      .style("top", (d3.event.pageY - 28) + "px");
  })
  .on("mouseout.2", function() {
    return link_tooltip.style("visibility", "hidden");
  })
  .on("mousemove", function() {
    return link_tooltip.style("top", (d3.event.pageY - 10) + "px").style("left", (d3.event.pageX + 10) + "px");
  });

node.on("mouseover.2", function(d) {
    node_tooltip.transition()
      .duration(200)
      .style("opacity", .9)
      .style("visibility", "visible");
    node_tooltip.html(d.tooltip)
      .style("left", (d3.event.pageX) + "px")
      .style("top", (d3.event.pageY - 28) + "px");
  })
  .on("mouseout.2", function() {
    return node_tooltip.style("visibility", "hidden");
  })
  .on("mousemove", function() {
    return node_tooltip.style("top", (d3.event.pageY - 10) + "px").style("left", (d3.event.pageX + 10) + "px");
  });

这是完整的代码:d3_with_tooltip.js

0 个答案:

没有答案