2010-04-26 97 views
5

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

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

不知道我是否需要为此编译自己的Command模式实现。当然,必须有一些可用的东西?如果不是,建议和指针将是一个很大的帮助。

+2

你要多层次撤销/重做,或只需一个步骤? – nfm 2010-05-18 02:49:00

+1

多级撤消 – sonofdelphi 2010-05-19 14:11:39

回答

5

看看jQuery插件“undoable”。

+0

有没有关于Prototype的任何知识? – sonofdelphi 2010-04-26 18:25:13

+0

我从来没有使用过Prototype,对不起。我只知道YUI,ExtJS和jQuery。 – 2010-04-26 18:26:44

+7

jquery可以与原型'共存',使用无冲突选项http://api.jquery.com/jQuery.noConflict/ var $ j = jQuery.noConflict(); //现在使用$ j作为jquery并继续使用$作为原型 – house9 2010-04-26 18:31:58

1

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

1

我已经在GWT图形API中看到撤消重做。您可以检查以下URL。

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

尝试找到它周围,因为我们曾经这是支持撤销/重做高达n级类似流程图的Web应用程序的事..

希望这有助于实现。

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