我在d3中编写了一个图形,当鼠标触及它时(使用鼠标悬停),数据更新,但是如果鼠标仍然在栏上,鼠标悬停会连续更新图形。Mouseenter in d3
所以我在看jQuery mouseenter。有没有可能在d3中实现mouseenter?
我在d3中编写了一个图形,当鼠标触及它时(使用鼠标悬停),数据更新,但是如果鼠标仍然在栏上,鼠标悬停会连续更新图形。Mouseenter in d3
所以我在看jQuery mouseenter。有没有可能在d3中实现mouseenter?
通过d3添加mouseenter事件。
d3.select(".class").on("mouseenter", function(){ // do stuff })
我认为“mouseover”和“mouseenter”之间的区别在于,“mouseover”会触发元素本身及其所有子元素,而“mouseenter”只会触发元素本身。
鼠标悬停:鼠标指针移动到附加元素或子元素上时触发。将指针移动到其他子元素将触发新事件。 https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/mouseover?redirectlocale=en-US&redirectslug=Mozilla_event_reference%2Fmouseover
Mouseenter:当指针移到附加元素上时触发。子元素不会触发事件。所以如果你想要你自己的“鼠标中心”,你可以做一个像if (this === d3.event.target)
这样的检查,然后是d3.event.stopPropagation()
,所以你只能得到监听者分配的元素。希望这可以帮助。
你应该可以使用jQuery来为mouseenter附加一个侦听器。 – 2013-04-04 14:22:47
你有没有看到这https://groups.google.com/forum/?fromgroups=#!topic/d3-js/8nApzax9p5E谷歌小组讨论,或此示例代码https://gist.github.com/shawnbot/4166283 ?这些帮助吗? – 2013-04-04 15:29:59