5

当我错误地删除了 contenteditable div 中的一些文本时,我可以用Ctrl + z.

但是在我用 javascript做了一些改变之后。我不能Ctrl + z用来逆转到以前的变化。

例如,当我将节点添加到所选文本时,如<p><h1>,我无法将内容反转为先前的更改。 jsfiddle.net/NfGM3/ (编码不好,因为我是新手window.getSelection()

我使用 div 而不是 textarea 因为我想在内容中添加一些节点。

那么,如何在使用 js 进行更改后使其在 contenteditable div 中可逆?

4

1 回答 1

8

如果添加一个 keyup 事件处理程序,它将在每次 keyup 之后跟踪当前文本。然后,如果您检测到+已被按下,您可以捕获Ctrl+Z并恢复到以前的内容。您可能会将修订保留在数组中以支持一系列+操作。CtrlZCtrlZ

于 2013-08-21T02:48:24.627 回答