html5中的可选和可移动形状

问题描述

| 我正在使用PHP,javascript和Canvas或SVG创建动态的交互式网络图 但是,对于画布,我不知道如何使每个对象都是可选择的。我不想使用隐藏的画布并检测鼠标是否在某个对象上,因为我将有很多相交的对象,并且有很多画布层会很乱。 我对SVG一无所知。 SVG会更好地达到目的吗?或什么是画布解决方案。     

解决方法

        SVG的优点之一是它具有表示图形中形状的具体DOM对象,因此您会自动获得大量鼠标事件处理和事件冒泡。 另外,您可以使用EaselJS,它提供了一个非常强大的显示列表,使您无需管理隐藏的画布。     ,        已经有一些用于构建图和图形的项目。您可以尝试基于SVG的Raphaël,因此它也应该兼容。     ,        我认为“隐藏的画布”是您的教程。它仍然可以与多个对象和多个图层一起使用,您只需要以适当的z顺序绘制它们即可。 当然有更快(但更复杂)的方法。 如果您不想处理它,则SVG内置了所有对象选择。按照Zlatev的建议尝试Raphael。如果性能太差(对象太多),则必须切换到画布,因此它实际上取决于图表中节点/链接的数量。 但是,您将不得不自己(以您喜欢的任何方式)将数据发送到服务器。 SVG / Canvas / Raphael中没有内置可以为您完成的任务。