您好我正在使用Ckeditor 4.5.10,我正面临内部左对齐插件的问题。默认左对齐只删除所选标记的样式属性。我需要的是,它应该像这样<p style='text-align:left'>test</p>
但是这样做<p>test</p>
如果有人可以帮我这件事
答案 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样式的条件。