撤消实现 - DOM操作

时间:2010-04-26 18:15:09

标签: javascript dom

是否有可用于在JavaScript中实现DOM元素操作的撤消/重做功能的库?

我正在编写一个在DOM元素周围移动的prototype.js应用程序(memonaut),可以编辑和删除这些元素。有事件处理程序和与操作的每个元素相关联的其他对象。

我不确定是否需要为此推送自己的Command模式实现。当然,必须有可用的东西吗?如果没有,建议和指针将是一个很大的帮助。

3 个答案:

答案 0 :(得分:5)

查看jQuery插件“undoable”。

答案 1 :(得分:1)

Prototype只提供对象的浅层克隆。所以我相信你需要推出自己的深度克隆方法(this可能有帮助)。然后,当您的用户操作DOM时,您只需将克隆版本推送到堆栈,然后在用户选择撤消时将其从堆栈中弹出。

答案 2 :(得分:1)

我在GWT图API中看到过undo-redo。您可以查看以下网址。

GWT是今天每个人都使用的图书馆。它支持Java类中的实现代码,然后将其编译为JS。

尝试查找它,因为我们已经实现了一些像流程图Web应用程序这样的支持撤消/重做n级...

希望这会有所帮助。

http://code.google.com/p/gwt-dnd/