Jquery CKeditor将整个块左/右/中心对齐

Jquery CKeditor将整个块左/右/中心对齐,jquery,ckeditor,justify,Jquery,Ckeditor,Justify,我试图在第4部分中覆盖默认的左/右/中对齐,这样他们就可以将整个文本左/右/中对齐,而不是将每一行单独对齐。我已经在creditor.config.js中添加了下面的代码,所有代码都可以正常工作,但我无法在ckeditor中更新/刷新新值。看起来setData确实更新了ckeditor值,但它在循环中执行,尝试将其包装到setTimout中,但这并没有改变任何东西。已尝试更新元素、setValue、setHtml CKEDITOR.on'InstanceRady',函数ev{ ev.editor

我试图在第4部分中覆盖默认的左/右/中对齐,这样他们就可以将整个文本左/右/中对齐,而不是将每一行单独对齐。我已经在creditor.config.js中添加了下面的代码,所有代码都可以正常工作,但我无法在ckeditor中更新/刷新新值。看起来setData确实更新了ckeditor值,但它在循环中执行,尝试将其包装到setTimout中,但这并没有改变任何东西。已尝试更新元素、setValue、setHtml

CKEDITOR.on'InstanceRady',函数ev{ ev.editor.on'selectionChange',函数{ var text=ev.editor.getData; text=text.replacenew RegExp'class=rtecenter | class=rteleft | class=rteright','g',; 文本=+文本+; //ev.editor.setDatatext; //ev.editor.element.setValuetext; //ev.editor.element.setHtmltext; }; };

好的,谢谢! 终于成功了,很简单。。。 i、 e.这是如何覆盖CKEditor 4中的“justifycenter”命令:

CKEDITOR.on'InstanceRady',函数ev{

    var editor = ev.editor;
    var overridecmd_justifycenter = new CKEDITOR.command(editor, {
        exec: function(editor){
            var ps = editor.document.$.getElementsByTagName("p");
            for (var i=0; i < ps.length; i++){
                if(ps[i].className.indexOf("rtecenter") < 0) {
                    ps[i].className = "rtecenter";
                }
            } 
        }
    });

    // Replace default button commands with overrides
    ev.editor.commands.justifycenter.exec = overridecmd_justifycenter.exec;

})

我自己刚开始使用CKEditor,所以我不是专家,但您确定每次选择更改时都要这样做吗?我想这会破坏编辑器,使实际编辑文本变得不可能,因为每次用户单击某个位置时,底层HTML都会改变。除此之外,您的代码还有很多其他问题。您可能希望编写一个插件,通过单击按钮进行修改。或者仅仅定义一种新的风格就足够了。将整段文字向左/向右/居中对齐,而不是将每一行单独对齐,这到底是什么意思?你能举个例子说明你想如何修改HTML吗?首先,如果你想做一些实时的事情,就不要改变数据。您需要处理DOM。第二,为什么不在contents.css中使用样式表呢?