听取contenteditable的具体变化?

Mat*_*oli 6 html javascript html5 contenteditable

警告:与现有问题不重复,请仔细阅读

我知道我可以让一个事件听取contenteditable元素的变化.

我想要的是能够知道变化是什么.

例如:

  • 插入"这是一个句子." 在位置X.
  • 从位置X删除到Y.
  • 格式从X到Y <strong>

那可能吗?(除了通过做差异我的意思)


这样做的原因是制作除HTML之外的其他语言的WYSIWYG编辑器,例如Markdown.

所以我想将更改应用到Markdown源代码(而不是从HTML转到Markdown).

Tim*_*own 4

你也许可以用MutationObservers 做一些事情(在旧浏览器中回退到 DOM Mutation 事件,尽管 IE <= 8 都不支持),但我怀疑要实现你想要的东西仍然会很困难。

这是一个使用 MutationObservers 的简单示例:

http://jsfiddle.net/timdown/4n2Gz/