使用applyStyle的CKEDITOR删除了

时间:2017-04-12 12:48:36

标签: javascript ckeditor

我想:

  • 选择一些文字,
  • 然后按一个按钮
  • 然后用span - 标记
  • 围绕选定的文字

示例:

  • [ - 选择开始
  • ] - 选择结束

This is the begi[ning of my text and he]re is the end

应转换为:

This is the begi<span class="mySpanClass">ning of my text and he</span>re is the end

为了实现我的目标,我添加了一个带有对话框的ckeditor插件... 这是代码(当你按下对话框的'ok'按钮时发生的事情)

  onOk: function () {
    editor.fire('saveSnapshot');

    let colorClass = createColorClass.call(this);
    //  removeColorClasses(editor);
    editor.applyStyle(new CKEDITOR.style({attributes: {'class': colorClass}}));

    editor.fire("saveSnapshot");
  }

所以,我正在使用内部ckeditor来添加span类(这一行)

editor.applyStyle(new CKEDITOR.style({attributes: {'class': colorClass}}));

现在问题我有:

添加span类会删除所有空行(<br />)表示:

M[y 1. Line

My 2. li]ne

在ckEditor中就像:

M[y 1. line
<br />
My 2. li]ne

转换为:

M<span class="MySpanClass>y 1. line
My 2. li</span>ne

我能做些什么来保持<br />'s? (当我使用我的插件时,它们才被删除)

1 个答案:

答案 0 :(得分:0)

嗯,最简单的方法是以正确的方式使用new CKEDITOR.style(...)(创建一个span-Element)!

let spanTag = new CKEDITOR.style({element: 'span', attributes: {'class': colorClass}});
editor.applyStyle(spanTag);