вот мой HTML-код
<ck-editor #ckeditor name="html_template" (click)="getCaretPos(ckeditor)" (change)="ckEditorChange(ckeditor)" [(ngModel)]="mailModel.html_template" [config]="ckEditorConfig"> </ck-editor>
вот мой код компонента
this.ckEditorConfig = { on: { instanceReady: function(e) { const pos = e.document.selection.getFirstPosition(); var selection = e.editor.getSelection(); var range = selection.getRanges()[0]; var cursor_position = range.startOffset; } } };
с этим кодом я не могу получить последнюю позицию Курсора и донаНе знаете, как добавить в него HTML?
добавить событие размытия в вашей директиве html
<ck-editor #ckeditor name="html_template" (blur)="ckEditorFocusOut($event)" [(ngModel)]="mailModel.html_template" [config]="ckEditorConfig">
после этого добавить функцию в ваш компонент
public ckEditorFocusOut(event) { var selection = event.editor.getSelection(); var ranges = selection.getRanges(); var range = ranges[0]; var newRange = event.editor.createRange(); var moveToEnd = true; newRange.moveToElementEditablePosition(range.endContainer, moveToEnd); var newRanges = [newRange]; selection.selectRanges(newRanges); event.editor.insertHtml("<span>Hello World!</span>"); }
Hello World!добавление текста в последнюю позицию курсора в CkEditor.