Как уничтожить экземпляр Ckeditor 5
Как выгрузить экземпляр Ckeditor 5 из объекта формы? Я могу загрузить его с ClassicEditor.create(). Я нашел метод editor.destroy(), но он не работает. Консоль Javascript говорит: "editor.destroy - это не функция".
Текущий код тестирования:
<button type="button" onclick="ckEditor('load')">Start</button><button type="button" onclick="ckEditor('unload')">Stop</button>
<textarea id="welcomeText" class="form-control" tabindex="21" name="txt_welcomeText" rows="10"><p>This is my welcome text.</textarea>
<script>
function ckEditor(action) {
editor = ClassicEditor.create( document.querySelector( '#welcomeText' ) ).catch( error => {console.error( error );});
if (action == "unload") editor.destroy();
}
</script>
С наилучшими пожеланиями,
Джордж
1 ответ
Необходимо получить обещание, чтобы получить экземпляр редактора CKEditor 5.
ClassicEditor.create( element )
.then( editor => editor.destroy() )
.catch( err => console.error( err ) )
Это сработало для меня:
document.querySelector('.ck-editor__editable').ckeditorInstance.destroy()
Все, что вам нужно сделать, это получить экземпляр, а затем уничтожить его! .ck-editor__editable
это класс по умолчанию для CKeditor.
Дополнительные объяснения можно найти в официальной документации: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/basic-api.html#destroying-the-editor