我有一个容器 div,其中几个跨度是可拖动的。我想为他们构建一个 UNDO 功能。我在想:
- 当 span 属性发生更改(位置、css)时,脚本会检测到 DOM 更改
- DOM 更改通过 HTML5 localStorage 存储
- 当 UNDO 函数被调用时,最后一个版本的 DOM 替换当前的。
我有记录最后 DOM 状态的基本 localStorage 代码:
$('#undo').live('click', function() {
var testObject = $('#container').html();
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
alert( retrievedObject );
// retrievedObject should now replace the current DOM
});
});
现在这段代码只是获取当前的 DOM 并存储它。警报正在显示本地存储中的内容。我可能应该尝试存储几个 DOM 状态并将它们放入变量中。之后,在每个 UNDO 上,删除一个变量......我不确定这是不是这样。
对此有任何意见吗?谢谢