Javascript 撤消/重做从DOM中删除元素

Javascript 撤消/重做从DOM中删除元素,javascript,jquery,Javascript,Jquery,我有一个应用程序,用户可以在其中绘制元素、删除元素、移动元素、调整元素大小等。我希望能够在不刷新页面的情况下撤消/重做应用程序中的几乎每一个操作 例如,当我通过按backspace删除一个元素时,我希望能够通过按'CMD+Z'撤消该操作,并通过按'CMD+Shift+Z'重做该操作 JS // Remove selected element $(window).keydown(function(e) { if (e.keyCode == 8) { $(".ui-selected"

我有一个应用程序,用户可以在其中绘制元素、删除元素、移动元素、调整元素大小等。我希望能够在不刷新页面的情况下撤消/重做应用程序中的几乎每一个操作

例如,当我通过按backspace删除一个元素时,我希望能够通过按'CMD+Z'撤消该操作,并通过按'CMD+Shift+Z'重做该操作

JS

// Remove selected element
$(window).keydown(function(e) {
  if (e.keyCode == 8) {
      $(".ui-selected").remove();
      return false;
  }
});

我需要一个解决方案,我几乎可以重复使用我的应用程序中的每一个动作。我不确定这是否会通知解决方案,但我正在将所有这些更改存储在本地存储中。

大多数情况下,这是使用命令模式完成的,其中每个“do”命令都存储在一个数组中,并且向后和向前遍历调用这些命令


具有具有性能基准的撤消脚本列表。我没有使用过任何一个命令,因为我在写这篇文章的时候也有自己的想法。

大多数情况下,这都是使用命令模式完成的,其中每个“do”命令都存储在一个数组中,向前和向后遍历调用这些命令


具有具有性能基准的撤消脚本列表。我没有使用过任何一种方法,因为我写这篇文章的时候,我自己也很想抓挠。

保留一个数组,以这种方式存储所有更改。如果要撤消,只需从数组中的当前索引向后导航,然后如果进行了更改,删除之后的所有更改,因为您现在在一个新的分支中。是否有我可以使用的插件?可能,但我不知道任何插件。这似乎是一个很容易实现的概念。保留一个数组,以这种方式存储所有更改。当您要撤消时,您所要做的就是从数组中的当前索引向后导航,然后如果进行了更改,请删除之后的所有更改,因为您现在在一个新分支中。是否有我可以使用的插件?可能,但我什么都不知道。似乎是一个足够简单的概念来实现。