我不是在寻找特定的代码,而是在寻找处理以下情况的整体方法:用户可以通过单击和拖动来创建一个新的 div 包装文本(我们称之为文本节点)。我想以某种方式保存用户修改 DOM 的状态。
检查我的JSBin 示例以了解我的意思。
代码是从我的 Ember 项目中提取的,但这就是它的作用:
- 点击编辑区域只是一个 Ember视图
- 当你将它拖到工作区时,Click to edit被克隆并且所有 Ember 绑定都丢失了(这完全没问题)
因此,在用户向工作区添加一个或多个文本节点后,我最终会得到如下内容:
<div class="workspace">
<div class="text" style="top: 86px; left: 141px;">Text Node 1</div>
<div class="text" style="top: 99px; left: 100px;">Text Node 2</div>
<div class="text" style="top: 10px; left: 44px;">Text Node 3</div>
</div>
tl;博士(已经解决了 **cking 问题)
我将如何保存这些信息,以便可以忠实地在另一个页面上重新创建用户更改?
一些想法
- 在路由更改时,使用类遍历每个 DOM 元素
.text
并创建一个存储 DOM 文本和样式属性的对象?然后,我必须创建一个“构建”类型的函数,该函数循环遍历对象并在给定页面上重新创建那些 DOM 元素。 - 在路由更改时,循环遍历每个 DOM 元素并将每个元素作为 jQuery 对象保存到数组中。“重建”只是循环数组中的每个项目并附加到 DOM 的问题。
最后,你怎么看?非常欢迎提出想法、批评和过去的经验。