CkEditor text align:left plugin = style ='text-align:left'

时间:2016-08-30 12:28:03

标签: ckeditor

您好我正在使用Ckeditor 4.5.10,我正面临内部左对齐插件的问题。默认左对齐只删除所选标记的样式属性。我需要的是,它应该像这样<p style='text-align:left'>test</p> 但是这样做<p>test</p>

如果有人可以帮我这件事

2 个答案:

答案 0 :(得分:0)

请在ckeditor.js中替换此函数,并在内联文本对齐左开始工作: -

 g.prototype = {
                        exec: function(a) {
                            var c = a.getSelection(),
                                b = a.config.enterMode;
                            if (c) {
                                for (var h = c.createBookmarks(), d = c.getRanges(), e = this.cssClassName, g, f, k = a.config.useComputedState, k = void 0 === k || k, m = d.length - 1; 0 <= m; m--)
                                    for (g = d[m].createIterator(), g.enlargeBr = b != CKEDITOR.ENTER_BR; f = g.getNextParagraph(b == CKEDITOR.ENTER_P ? "p" : "div");)
                                        if (!f.isReadOnly()) {
                                            f.removeAttribute("align");
                                            f.removeStyle("text-align");                                       
 f.setStyle("text-align", this.value);

                                            //console.log(this.value);
                                            var l = e && (f.$.className = CKEDITOR.tools.ltrim(f.$.className.replace(this.cssClassRegex, ""))),
                                                p = this.state == CKEDITOR.TRISTATE_OFF && (!k || n(f, !0) != this.value);
                                            e ? p ? f.addClass(e) : l || f.removeAttribute("class") : p && f.setStyle("text-align", this.value)
                                        }
                                a.focus();
                                a.forceNextSelectionCheck();
                                c.selectBookmarks(h)
                            }
                        },
                        refresh: function(a, c) {
                            var b = c.block || c.blockLimit;
                            this.setState("body" != b.getName() && n(b, this.editor.config.useComputedState) == this.value ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF)
                        }
                    };
  

我在上面的函数中包含了这一行: - f.setStyle(“text-align”,   THIS.VALUE);

答案 1 :(得分:0)

我在CKEditor4上遇到了同样的问题。我设法通过使用自定义版本来解决它。首先,您必须熟悉CKEditor4自定义构建过程。如果是,则可以继续,如果没有,则强烈建议按照以下说明进行操作:

The development repository of CKEditor 4

如果在这里,则意味着您熟悉CKEditor4的自定义生成过程。为了解决这个问题,我们应该修改Justify插件。您必须在plugins/justify/plugin.js路径中编辑文件,然后替换

} else if ( apply && isAllowedTextAlign ) {

使用

} else {

换句话说,您必须摆脱设置text-align CSS样式的条件。