При написании плагина столкнулся с тем, что в момент нажатия кнопки в тулзах, редактор терял фокус ввода.
Поведение верное, но пользователю не удобно — нужно курсор возвращать на место «вручную».
Вернуть фокус можно так:
|
|
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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 20, 2024 г.
Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter.
При создании своих модулей для CKE5/D10, я так же пользовался данной статьей из документации. Но проблема была в том, что тот модуль, ...
Читать
Март 25, 2025 г.
Продолжаю публиковать сниппеты, связанные с экосистемой CKEditor 5. Сегодня покажу как удалять контейнер с сохранением его содержимого.
Api предоставляет функцию writer.unwrap(element). Но беда в том, что функция не заботится о валидности дочерних ...
Читать
Апрель 5, 2025 г.
Делюсь еще одним лайфхаков, как в плагине CKE5 вставить htmlentity.
При вставке текста в модель, CKEditor будет преобразовывать html символы вроде '&' и '>'. Но что делать, если нужно вставить символ в виде html кода?
Рассмотрим следующий ...
Читать
Февраль 8, 2024 г.
Drupal 10 добавил в ядро модуль wysiwyg CKEditor 5. Т.е. уже из "коробки" у вас есть редактор html кода.
API CKEditor 4 и 5 версий значительно отличаются, ...
Читать