javascript - 拖动和突出显示

标签 javascript d3.js dom-events drag

在此jsfiddle用户应该能够拖动一个节点,并且在他/她拖动时,只有该节点和他的邻居以及它们之间的链接应该突出显示。

我以为我有一个很好的解决方案,但是如果用户将节点拖动到边界就会报告一个问题,在这种情况下会出现不良行为 - 所有节点突然突出显示:

(ERROR IS WHEN DRAGGED NODE HITS THE WALL)

enter image description here

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

这可以修复吗?我可以重新设计事件以解决这种情况吗?

最佳答案

您想要的是在拖动其中一个节点时淡化非相邻节点,而不仅仅是在鼠标悬停上:

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

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

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

关于javascript - 拖动和突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393768/

相关文章:

javascript - 如何将 JavaScript 变量中保存的 _User 对象转换回可以保存到 parse.com 指针列中的格式

javascript - 找不到在 div 中创建的 Canvas 元素

javascript - 使用 Node.js 将文件系统中的目录结构转换为 JSON

javascript - 为什么我的 youtube 视频不报告事件?

javascript - 将方法传递给子组件

javascript - OnKeyDown 和 String.FromCharCode

javascript - ajax 加载元素的事件处理

javascript - 单击按钮时 firebase 删除数据库上的 ID

javascript - 在间接引用的任意数量的列中找到 Y 轴缩放的最大值

javascript - D3 v4 中的 d3.rebind