我正在构建基于块的编辑器,但在如何进行方面遇到了障碍。
我不想使用execCommand
来执行诸如粗体文本之类的操作,因为我希望我的编辑器能够以任何自定义方式包装所选文本,并且因为execCommand
在浏览器中的工作方式有所不同
我的问题是撤消零碎的标记。
例如,如果我们有这样的文字。
Lorem Ipsum <strong>is simply dummy text of the printing and typesetting industry. Lorem</strong> Ipsum has been the industry's standard dummy text ever since the 1500s
并想简单地将一个或两个单词加粗,这很容易。
但是如果我们有这样的嵌套格式的东西怎么办:
The Lost City of Atlantis is a myth and legend that has fascinated <strong>generations and captured the <mark>imagination for countless <em>storytellers since</em> the great philosopher</mark> Plato first</strong> introduced it to the masses ~360BC.
我想对countless
一词进行粗体显示吗?
假设我已经创建了一个包含所有当前节点的文档片段,并向包含我们要取消粗体显示的文本的节点添加了一个类selectionNode
,那么解开所有内容的最佳方法是什么获得所需的输出?
有人可以帮我指出正确的方向吗?还是我以“艰苦”的方式进行此操作,并且对这一切有更好的解决方案?