При написании плагина столкнулся с тем, что в момент нажатия кнопки в тулзах, редактор терял фокус ввода.
Поведение верное, но пользователю не удобно — нужно курсор возвращать на место «вручную».
Вернуть фокус можно так:
|
|
editor.editing.view.focus(); |
Объект editor доступен как свойство практически во всех сущностях CKE5.
Возможно, что после манипуляций с моделью, фокус требуется установить в какое то конкретное место.
Для этого нужно задать выделение в документе. В терминологии DOM выделение может быть пустым, т.е. это может быть просто позиция курсора в документе, что нам и нужно.
Например, установим курсор в начало документа, а затем вернем редактору фокус.
|
|
editor.model.change((writer) => { // Получаем позицию в самом начале документа const range = writer.createRange( writer.createPositionAt( editor.model.document.getRoot(), 0 ); ); // Устанавливаем курсор в начало writer.setSelection(range); }); // Фокусируем редактор editor.editing.view.focus(); |
ckeditor
Данная запись опубликована в 23.03.2025 00:58 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 7, 2025 г.
Плагин DataFilter позволяет управлять фильтрацией HTML тегов. Он является "родным" для CKE плагином, так что ничего дополнительно устанавливать не нужно. Рассмотрим как им можно управлять на уровне кастомного плагина.
Допустим, вы хотите разрешить ...
Читать
Апрель 11, 2025 г.
В CKEditor 5 есть родной плагин, который отображает список спец. символов для вставки в редактор. Он удобен и прост, проблема лишь в том, что он содержит ...
Читать
Февраль 3, 2025 г.
Пример работы в экосистеме CKE5. Реализуем в нашем плагине обработку изменения данных в модели редактора. При удалении всего текста в инлайновом элементе, удалим сам inline контейнер.
Зацепку поместим в init секцию плагина.
[crayon-698d2bab51df5799790041/] ...
Читать
Апрель 9, 2025 г.
Неприятная особенность CKEditor - добавляет в пустые контейнера (в <div>,<p> и т.п.) html код неразрывного пробела.
Покажу как можно от этого избавиться через код в кастомном плагине для CKEditor 5 в экосистеме Drupal 8+.
Нам понадобится ...
Читать