d3 force element(node)mouseout在移出包含的圆或文本时触发

时间:2014-05-02 12:49:35

标签: javascript d3.js

我的d3js图中的节点看起来像这样:

<g x="418.35228687205745" y="407.82418738913753" fill-opacity="1">

<circle x="-8" y="-8" width="16" height="16" r="5" class="secondary-node" stroke="#0b0080" fill="#0086d1">
</circle>

<text dx="8" dy=".25em" class="secondary-node" y="0" x="0" font-size="1em">Node
</text>

</g>

我附加了mouseover和mouseout事件,它们修改了cirle和text的格式,两者都增长了。 当鼠标移动到圆圈和文本之间的空间时,会触发mouseout,这不是我预期的行为,因为鼠标事件使用.on()绑定到节点,而不是圆圈和文本,但是如果它是正确的术语,它们似乎会级联下来。

有可能阻止这种情况吗?

1 个答案:

答案 0 :(得分:0)

您无法将事件绑定到节点,但是您将它绑定到DOM元素,在您的情况下是DOM元素。我假设元素不能使用任何事件处理程序。在您的情况下,您需要将事件绑定到圆圈和文本或draw some kind of transparent background to your (or node) to bind an event上。