鼠标入d3

时间:2013-04-04 14:17:25

标签: javascript d3.js

我在d3中写了一个图形,当鼠标触摸它时会更新(使用鼠标悬停),数据会更新,但是如果鼠标仍然在栏上,鼠标悬停将继续更新图形。

所以我看着jQuery mouseenter。是否有可能在d3中实现mouseenter?

2 个答案:

答案 0 :(得分:2)

通过d3添加mouseenter事件。

d3.select(".class").on("mouseenter", function(){ // do stuff })

答案 1 :(得分:0)

我认为“mouseover”和“mouseenter”之间的区别在于“mouseover”会激活元素本身及其所有子元素,而“mouseenter”仅触发元素本身。 < / p>

鼠标悬停:指针在附加元素或子元素上移动时触发。将指针移动到其他子元素将触发新事件。 https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/mouseover?redirectlocale=en-US&redirectslug=Mozilla_event_reference%2Fmouseover

Mouseenter:指针在附加元素上移动时触发。子元素不会触发事件。 https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/mouseenter?redirectlocale=en-US&redirectslug=Mozilla_event_reference%2Fmouseenter

因此,如果您需要自己的“mouseenter”,则可以执行if (this === d3.event.target)之类的检查,然后选择d3.event.stopPropagation(),这样您就只能获得侦听器所分配的元素。希望这会有所帮助。

相关问题