使用CKEditors更改两个div的顺序

时间:2015-06-12 17:40:36

标签: javascript ckeditor liferay liferay-6

我有两个CKEditor,由Liferay脚本创建,在我看来一个接一个。两者都是分开的div。我想改变它的顺序。

我尝试使用这样的东西:

var firstDivWithCKEditor = document.getElementById("firstDivWithCKEditor");
var secondDivWithCKEditor = document.getElementById("secondDivWithCKEditor "); 
var parentDiv = secondDivWithCKEditor.parentNode();
parent.insertBefore(secondDivWithCKEditor , firstDivWithCKEditor);

订单已更改,但在此操作之后,我无法在一个编辑器上执行任务并且内部编辑器中的html消失。点击编辑器中的任何按钮后,我在控制台上收到错误:未捕获TypeError:无法读取未定义的属性'getSelection'。

任何人都知道出了什么问题?

1 个答案:

答案 0 :(得分:4)

使用经典(iframe)编辑器实例无法做到这一点。您可以轻松地重新初始化您的实例(JSFiddle):

var e1, e2,
    el1 = CKEDITOR.document.getById( 'editor1' ),
    el2 = CKEDITOR.document.getById( 'editor2' );

function initEditors( reverse ) {    
    if ( e1 || e2 ) {
        e1.destroy();
        e2.destroy();        
    }

    ( reverse ? el2 : el1 ).insertBefore( ( reverse ? el1 : el2 ) );

    e1 = CKEDITOR.replace( el1 );
    e2 = CKEDITOR.replace( el2 );
}