在JavaScript中撤消/重做

时间:2011-12-19 14:35:35

标签: javascript

  

可能重复:
  Undo/redo Plugin in jquery

我想在我的html表上实现Undo / Redo系统:添加tr,删除tr,单元格编辑。

是否有一些JavaScript库可以做到这一点?

1 个答案:

答案 0 :(得分:2)

好吧,有一个document.execCommand(command)函数可以撤消/重做本机操作(比如文本输入等)。但是,如果编辑是自定义的,即本机浏览器应用程序不知道。例如:在文本框中键入文本不是自定义操作,浏览器知道如何撤消它。但是,单击按钮添加div是一种自定义操作。

如果是自定义操作,则需要使用事件队列或跟踪您执行的操作的事件。在撤消时,您可以回滚列表中的最后一项(并将其标记为“撤消”)。在重做时,您可以处理列表中标记为撤消的下一个可用操作。