撤消/恢复从DOM中删除元素
Undo/Redo removing elements from DOM
我有一个应用程序,用户可以在其中绘制元素、删除元素、移动元素、调整大小等。我希望能够在不刷新页面的情况下撤消/重做应用程序中的几乎每一个操作。
例如,当我通过按退格键删除一个元素时,我希望能够通过按"CMD+Z"撤消该操作,并通过按"MD+Shift+Z"重做。
JS
// Remove selected element
$(window).keydown(function(e) {
if (e.keyCode == 8) {
$(".ui-selected").remove();
return false;
}
});
我需要一个解决方案,我几乎可以在应用程序中的每一个操作中重复使用。我不确定这是否会通知解决方案,但我正在使用jStorage将所有这些更改存储在本地存储中。
大多数情况下,这是使用命令模式完成的,其中对于每个"do"命令,"undo"命令都存储在一个数组中,并且前后遍历会调用这些命令。
http://jsperf.com/undo-redo有一个带有性能基准的撤消脚本列表。我一个都没用过,因为有一段时间我写的时候自己也很痒https://github.com/ArthurClemens/Javascript-Undo-Manager.
相关文章:
- 从组件状态的数组中删除元素
- 从数组中删除元素的最佳方法是:javascript/jquery
- 正则表达式条件来删除元素
- 使用javascript删除元素时出现的问题
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- 从角度数组中删除元素
- AngularJs localStorage在循环中删除元素
- 在使用jquery插入之前删除元素
- 如何删除元素列表中的类并添加到另一个元素 Jquery.
- 更新分组条形图(转换或删除元素组)
- 向下滚动后如何用同一类逐个删除元素
- 如何防止 jQuery 事件在删除元素时冒泡
- 从jQuery对象中删除元素
- 如何删除元素的结束标记,添加一些文本,然后重新添加标记
- 从画布中删除元素
- 如何解析html以删除元素并只返回其位置的标题
- 使用 V8 从密集数组中删除元素的最佳方法是什么
- 如何使用jquery删除元素
- 根据成员属性从数组中删除元素
- 从中删除元素'的父元素,并将其附加到其他元素