如何使用JavaScript将样式应用于CKEditor中的选定文本

时间:2015-03-10 09:40:12

标签: javascript ckeditor

我想使用JavaScript将标题样式(h1)应用于CKEditor中的选定文本。

这是我的功能:

        function applyStyle()
        {
            var selection = CKEDITOR.instances.editor1.getSelection();
            if(selection.getType() == 2) //where 2 will be Text type
            {
                var style = new CKEDITOR.style({element: 'h1'});
                selection.applyStyle(style);
                style.checkActive(editor1.elementPath(), editor1);
            }
            else
            {
                alert('Select text to apply');
            }
        }

但是我无法在所选文本上使用该样式,

请有人解决此问题

由于

1 个答案:

答案 0 :(得分:0)

这很麻烦,但我找到了解决方案,见下文

        function applystyle(tagName)
        {
            var selection = CKEDITOR.instances.editor1.getSelection().getNative();
            var oEditor = CKEDITOR.instances.editor1;
            var openTag = "<" + tagName + ">"; 
            var closeTag = "</" + tagName + ">"; 
            var html = openTag + selection + closeTag;
            var newElement = CKEDITOR.dom.element.createFromHtml( html, oEditor.document );
            oEditor.insertElement( newElement );
        }

我发现上面的代码对我来说效果很好,

谢谢