我正在尝试找出如何在contenteditable
中添加可控的内联格式而不使用document.execCommand
。 “可控”是指我希望以易于管理的数据格式(例如json
)存储行内格式化数据。
例如,用户按下button
"Make text bold and add a rounded background"
以设置所选文本的样式。
现在,我正在尝试通过存储带有相应样式定义标识符的文本范围来解决此问题。因此,如果将来网站的ui设计发生变化,则将新样式应用于样式标识符。
我看到的这种方法的问题在于,它需要大量代码来维护文本范围列表。例如,存在范围[5, 12]
的粗体文本。对于内容可编辑的更改事件,我必须检查是否触摸了范围。
我怀疑由于这些粘贴/剪切/输入/删除事件,这样的代码会带来很多痛苦。
也许我正在发明一个轮子,而这个问题已经解决了?