使用CkEditor,当我创建A标签并稍后应用一些自定义格式(例如颜色文本)时,生成的源看起来像这样:
<p><a href="http://somelink.com"><span style="color:#1abc9c;">some text</span></a></p>
如您所见,格式在文本周围,但在A标记内。
我有一个个人插件,可输出带有特定类的SPAN标记。在wysiwyg编辑器中,当我选择文本并应用相同的格式时,我得到了这个:
<p><span style="color:#1abc9c;"><span class="command3d">Some text</span></span></p>
这一次,格式化不仅仅是文本。它适用于SPAN标记。
如何控制此行为?我希望得到这个结果:
<p><span class="command3d"><span style="color:#1abc9c;">Some text</span></span></p>
由于
答案 0 :(得分:1)
遗憾的是,无法在编辑器实例中控制内联样式(基于span
标记)的顺序。实现所需结果的唯一合理方法是从应用文本颜色开始,然后应用自定义样式。
但是,有两种方法可以将编辑器的输出转换为正确的格式。第一种是通过toDataFormat
event向编辑器的数据处理器添加自定义处理程序,以检查span.command3d
的祖先,并在必要时将它们交换到位。然而,由于您必须遍历所有内容,因此它有点麻烦,因此它更简单:add element callback to editor's filter。 Example