Можно ли получить позицию каретки в CKEditor? angular - javascript - PullRequest
2 голосов
/ 26 мая 2020

Я новичок в CKEditor, я пытаюсь получить позицию каретки в элементе CKEditor, чтобы вставить дополнительный текст в эту позицию.

Я нашел похожие вопросы, но это не то, что я ищу: Получить позицию курсора в CKEditor

Я ищу, как найти позицию текста в html, возвращаемом CKEditor.

Мой код:

HTML:

  <div class="document-editor">
     <div class="document-editor__toolbar"></div>
         <div class="document-editor__editable-container" fusePerfectScrollbar>
             <div class="document-editor__editable" (click)="getSelected(editableArea)" #editableArea>
                  <p>The initial editor data.</p>
             </div>
        </div>
 </div>

TS:

initEditor(language: any) {
    DecoupledEditor
        .create(document.querySelector('.document-editor__editable')
        )
        .then(newEditor => {
            const toolbarContainer = document.querySelector('.document-editor__toolbar');
            toolbarContainer.appendChild(newEditor.ui.view.toolbar.element);
            this.editor = newEditor;
        })
        .catch(err => {
            console.error(err);
        });
}

Что я пытался сделать?

Я пытался получить его, используя window.getSelection().anchorOffset, и он возвращает позицию курсора в текущем div, поэтому, например, если я попытаюсь раскрасить часть текста в зеленом цвете, а затем я нажимаю на нее, она возвращает позицию в зеленом тексте не во всем содержимом.

Кто-нибудь знает, возможно ли это? и как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...