При написании плагина столкнулся с тем, что в момент нажатия кнопки в тулзах, редактор терял фокус ввода.
Поведение верное, но пользователю не удобно — нужно курсор возвращать на место «вручную».
Вернуть фокус можно так:
|
|
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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 11, 2025 г.
В CKEditor 5 есть родной плагин, который отображает список спец. символов для вставки в редактор. Он удобен и прост, проблема лишь в том, что он содержит ...
Читать
Декабрь 20, 2014 г.
Как подключить CKeditor к Drupal 7 я рассказывал ранее.
После настройки модуль подключит редактор CKeditor к полям редактирования публикаций. А как подключить wysiwyg к собственным формам? В 6-й версии Drupal редактор с помощью модуля CKeditor подключался ...
Читать
Февраль 3, 2025 г.
Пример работы в экосистеме CKE5. Реализуем в нашем плагине обработку изменения данных в модели редактора. При удалении всего текста в инлайновом элементе, удалим сам inline контейнер.
Зацепку поместим в init секцию плагина.
[crayon-6a7875b31522e277149122/] ...
Читать
Февраль 20, 2024 г.
Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter.
При создании своих модулей для CKE5/D10, я так же пользовался данной статьей из документации. Но проблема была в том, что тот модуль, ...
Читать