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

How to apply style to selected text in CKEditor using JavaScript

本文关键字:文本 CKEditor 应用于 何使用 JavaScript 样式      更新时间:2023-09-26

我想使用 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');
            }
        }

但是我无法将样式应用于所选文本,

好心有人解决这个问题

谢谢

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

        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 );
        }

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

谢谢