jquery, ajax и CKEditor - как «отсоединить» экземпляр CKEditor - PullRequest
3 голосов
/ 13 января 2011

Эй, я использую jquery, ajax и CKEditor:

$( '.ckeditor' ).ckeditor();

При первой загрузке страницы через ajax ckeditor() запускается без помех.Второй раз не получается.Обычно при связывании вы делаете что-то вроде:

.unbind('click').bind('click',function{...})

Что мне делать, чтобы отсоединить ckeditor()?

Ответы [ 4 ]

5 голосов
/ 27 декабря 2011

Лучшее, что я нашел, это ...

if (CKEDITOR.instances['ckeditor']) {
    CKEDITOR.remove(CKEDITOR.instances['ckeditor']);
}
3 голосов
/ 13 января 2011

Вы можете получить ссылку на объект CKEDITOR, используя:

var editor = $('.ckeditor').ckeditorGet();

, и затем вы можете уничтожить его следующим образом:

2 голосов
/ 18 октября 2011

Я сделал это долгий путь :). Вы можете посчитать количество экземпляров CK следующим образом:

function countProps(obj) {
    var l = 0;
    for (p in obj) l++;
    return l;
}
if ( countProps(CKEDITOR.instances) ) { 
// to assure you have at least one instance of ckeditor
// you may want to use more complicated checks - in my case I have only one editor 
// instance per page
    editor = $('youreditor').ckeditorGet();
    CKEDITOR.remove(editor); 
}
0 голосов
/ 07 июля 2016

Простой способ Получить экземпляры по имени, если существует, то удалить:

  var editor = CKEDITOR.instances['name'];
  if (editor) {
      editor.destroy(true);
  }

OR

  var editor = CKEDITOR.instances['name'];
  if (editor) {
      CKEDITOR.remove(editor);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...