CKEditor editor1.insertHtml () не работает для меня - PullRequest
2 голосов
/ 21 января 2011

Я использую CKEditor, чтобы иметь возможность редактировать комментарии к сообщениям.Я также использую JQuery.Поскольку в каждом посте может быть несколько комментариев, я стараюсь, чтобы все они основывались на классах.

Следующая функция должна скрывать область отображения комментария, вставлять текст из области отображения в редактор,и, наконец, отобразить редактор.

function fnCommentControl_edit(divEditBtn){
    divEditBtn = $(divEditBtn);
    var divSaveBtn = divEditBtn.parent().find('.save');
    var divCancelBtn = divEditBtn.parent().find('.cancel');     
    var divEdit = divEditBtn.parent().parent().parent().find('.text').find('.edit');
    var divDisplay = divEditBtn.parent().parent().parent().find('.text').find('.display');  
    var divEditor = divEdit.find('.editor');

    var ckEditor1 = CKEDITOR.replace(divEditor[0],
        {
            toolbar : 'Basic',
            customConfig : '/includes/ckEditorConfig.js'
        });

    ckEditor1.insertHtml('<p>test</p>');

    divEditBtn.hide();
    divSaveBtn.show();
    divCancelBtn.show();
    divEdit.show();
    divDisplay.hide();
}

После вызова функции все работает нормально, за исключением того, что в редакторе нет текста.

Я новичок в использовании CKEditor и буду благодаренлюбая помощь.

1 Ответ

3 голосов
/ 21 января 2011

Процесс создания не является синхронным, поэтому редактор не полностью готов для редактирования (особенно первого экземпляра) сразу после вызова для его создания.

Вы должны прослушать событие instanceReady для работы с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...