2015-02-13 2 views
1

Я хочу удалить все div, классы, атрибуты и почти все, что CKEDITOR добавлено в DOM. Например, вызов jquery tabs («destroy»); удалит все добавленные div, добавленные вкладками jQuery. Как я могу сделать то же самое для CKEDITOR, возможно, не найти решение.CKEDITOR destroy

$("body").find("[edit]").each(function() { 
    $(this).ckeditor(); 
}); 

То, как я называю ckeditor. Я нашел это в документации, но не уверен, как его использовать. http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#destroy

+0

Возможный дубликат [Удалить экземпляр CKEdit] (http://stackoverflow.com/questions/2985396/remove-ckedit-instance) –

+0

Я нашел это http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR. editor.html # destroy Но я не уверен, как его применить. Выше, как я запускаю плагин CKEDITOR – guub

ответ

0

Если вы можете создать селектор для того, что вы хотите удалить, вы можете использовать функцию jQuery remove. Например, если все CKEditor элементы содержат «CKEditor» в своем классе, вы могли бы использовать

$("[class*='ckeditor']").remove() 

удалить их все из DOM.

https://api.jquery.com/remove/

+0

Это не работает, потому что ckeditor добавляет классы и атрибуты к элементам, которые не были добавлены плагином. – guub

0

Согласно http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.html#.remove вы должны использовать уничтожить() функция не удаляет()

Removes an editor instance from the global CKEDITOR object. 
This function is available for internal use only. External code 
must use CKEDITOR.editor.prototype.destroy to avoid memory leaks. 

Так что код будет $ ([класс = 'CKEditor']). Уничтожить (true)

0

Вам нужно держать вещи раздельными. Вы не можете использовать jQuery для удаления экземпляров CKEditor, и вы не можете использовать CKEditor для удаления диалогов jQuery или любого другого виджета jQuery.

.remove JQuery (в), чтобы удалить элементы из DOM, это правильно, но это не правильно уничтожить любые добавленные события и т.д.

Таким образом, вы используете .destroy CKEditor в(), чтобы удалить все экземпляры из вашего DOM, а затем вы можете удалить все контейнеры jQuery (вкладки, диалоги или что-то еще) после метода уничтожения jQuery. Для диалога jQuery-UI, который будет: диалог $ ("# myDiv"). ("Destroy").

// So to create you use var editor = CKEditor.replace('id-of-your-input'); // and to destroy you use: editor.destroy();

Это просто.

Я создал шлепнуть здесь, где я создать и уничтожить CKEditor шагами в JQuery Диалог: http://plnkr.co/edit/z1YJa4?p=preview

Официальные документы здесь: http://sdk.ckeditor.com/samples/saveajax.html

Надежда, что помогает.

Смежные вопросы