0

我即将开始一个新项目,该项目将涉及将对象(最好是 SVG)从工具箱拖放到舞台上,我正在考虑使用 Raphael.js 来提供帮助。

我遇到的问题是我希望应用程序 UI 具有在 HTML 中创建的布局,包括可滚动面板,包括工具箱。然后,我希望用户能够从工具箱中进行组件化并将其拖到“舞台”上。

我认为我的选择是双重的:

1) 在 Raphael 中将整个 UI 创建为 SVG。我猜想在 Raphael 中创建一个包含可滚动面板的 UI 比使用纯 HTML 更难,这会给我 Flexbox 和具有溢出:自动等的 DIV。

2) 在 HTML 中创建 UI,并以某种方式将 SVG 组件从工具箱拖放到 Raphael 舞台上,然后我可以让用户将它们放置到位。我不确定这是否可能。

我的断言正确吗?如果是这样,是否可以检测到用户何时将鼠标悬停在舞台上并以某种方式隐藏拖动帮助并在舞台内重新创建组件?

4

1 回答 1

0

不久前我写了这样的东西。我将工具箱中的组件绘制为单独的 Raphael 画布。拖动时,我将此工具移到工作区上方。放下时,我进行计算以确定位置,然后在该位置的工作区中创建一个新的 Raphael 对象。然后将拖动的对象放回工具箱中的适当位置。这对你的情况有用吗?

于 2012-11-28T22:55:05.853 回答