是否有事件监听器来检测点/SVG图形上的鼠标点击?

是否有事件监听器来检测点/SVG图形上的鼠标点击?,svg,graphviz,dot,Svg,Graphviz,Dot,我正在玩生成点文件的游戏,然后将它们转换成包含大量节点的SVG图形 我的问题是,是否存在事件侦听器来检测点/SVG图形节点上的鼠标单击 例如,右键单击SVG图中的一个节点,我做了一些事情(可能从该节点获取相关信息,然后做一些事情) 那么如何生成点文件或SVG文件来实现这一点?有几种方法可以创建交互式SVG图形: 使用SMIL,svg的扩展(示例教程) Javascript(该库非常优秀) CSS动画 在任何情况下,您都必须在支持这些技术(浏览器)的客户机中显示svg图形,并且您必须在grap

我正在玩生成点文件的游戏,然后将它们转换成包含大量节点的SVG图形

我的问题是,是否存在事件侦听器来检测点/SVG图形节点上的鼠标单击

例如,右键单击SVG图中的一个节点,我做了一些事情(可能从该节点获取相关信息,然后做一些事情)


那么如何生成点文件或SVG文件来实现这一点?

有几种方法可以创建交互式SVG图形:

  • 使用SMIL,svg的扩展(示例教程)
  • Javascript(该库非常优秀)
  • CSS动画

在任何情况下,您都必须在支持这些技术(浏览器)的客户机中显示svg图形,并且您必须在graphviz创建的svg输出之外对其进行编码。

如果您想要交互式图形,graphviz可能不是最佳选择


我建议你去看看。也许您可以用json构建图形数据,并用D3加载它们?

这只是另一个想法(认识到这个问题很老,但也许它有助于人们理解)


根据要执行的操作,将事件处理与图形分离可能是最简单的方法。我的意思是,您可以找到graphviz将节点(以及边、标签等)放置在何处,例如,请参见。然后,您可以在正在使用的任何GUI的背景中绘制图形,并通过在节点上放置不可见的可单击对象,使用其本机事件处理在单击时对
作出反应。

D3通常与svg一起使用(生成某个数据集的svg表示)。与使用graphviz相比,它的一个主要优点是所有的图形布局都是在浏览器中动态完成的。我意识到这并不是一个精确的原始问题的答案,但我假设7年后,它不再是OP的问题,无论如何。。。