D3 Mouseenter vs Mouseover

时间:2015-06-08 13:57:56

标签: javascript d3.js

我基于D3网站上的森伯斯特示例 - http://bl.ocks.org/kerryrodden/7090426反复写了一个D3小部件。

小部件很好,我甚至将它提交给一个开源项目(其他几个人查看并测试了它)。但是现在,当我尝试使用不同的计算机(相同的浏览器版本)查看相同的窗口小部件时,我遇到了鼠标悬停和鼠标中心的不一致行为。当我将鼠标悬停在项目上时,只有我翻过的第一个项目具有不透明度设置,当我在窗口小部件中移动鼠标时,不会更新不透明度。

这是破碎的版本: http://jsfiddle.net/wrdrvr/f5tvsv5v/

cookbook-bar

我能够通过包含一个mouseenter来使它工作,但是之前我没有使用它,并且在示例中没有使用它,我不知道为什么我需要它。有人可以帮忙澄清一下吗?

1 个答案:

答案 0 :(得分:0)

更新了http://jsfiddle.net/f5tvsv5v/2/

  .on("mouseleave", mouseleave)
  //.on("mouseover", mouseover)
.on("mouseenter",mouseover)

你应该使用mouseenter而不是mouseover,因为mouseover没有buble(http://www.quirksmode.org/dom/events/mouseover.html