拖动并突出显示

时间:2014-01-27 23:17:33

标签: javascript javascript-events d3.js drag

在这个jsfiddle用户中应该能够拖动一个节点,当他/她正在拖动时,只应该突出显示该节点及其邻居以及它们之间的链接。

我认为我有一个很好的解决方案,但是如果用户将节点拖到边界,则会出现问题,并且在这种情况下会出现意外行为 - 所有节点突然突出显示:

(ERROR IS WHEN DRAGGED NODE HITS THE WALL)

enter image description here

这是因为鼠标指针远离节点,但用户仍然保持鼠标按钮,并且仍然希望只选择节点突出显示,其他节点保持灰色。

这可以修复吗?我可以重新设计事件,以便这种情况得到治愈吗?

1 个答案:

答案 0 :(得分:2)

你想要的是fade非邻居节点,而其中一个节点被拖动,而不仅仅是鼠标悬停

force.drag().on('drag', fade(.1));

工作示例:http://jsfiddle.net/h358K/

请注意,对于对称性,您可能希望淡入 dragstop上的节点。