Я пытаюсь разработать мягкую клавиатуру с помощью CKEditor. Это требует, чтобы я преобразовывал текст при вводе (завершено), а иногда мне нужно было удалить ключ (где я борюсь). Мой текущий код выглядит следующим образом:
ClassicEditor
.create( document.querySelector( '#editor' ) )
.then(editor => {
console.log( editor );
editor.editing.view.document.on( 'keydown', ( event, data ) => {
var keyPressed = data.domEvent.key;
//getMappedCharacter returns a map
//String newKey -> value of the keyPressed
//Boolean deleteKey -> Whether the previous character should be deleted
var mappedCode = getMappedCharacter(keyPressed);
console.log('mc', mappedCode)
if (mappedCode.newKey != keyPressed) {
data.preventDefault();
event.stop();
if(mappedCode.deleteKey){
// WHERE I'M STRUGGLING
// Trying to delete the latest character inserted (where my cursor is located).
}
editor.model.change( writer => {
writer.insertText( mappedCode.newKey, editor.model.document.selection.getFirstPosition() );
} );
}
})
})
.catch( error => {
console.error( error );
} );
В настоящее время я пытаюсь использовать команду Delete пакета ckeditor5-typing с CKEditor5 в проекте Angular/Typescript. В документации сказано, что я должен включить пакет Typing в плагины вот так
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Essentials, Paragraph, Bold, Italic ],
toolbar: [ 'bold', 'italic' ]
} )
Однако, когда я это делаю, я получаю следующую ошибку в консоли:
Когда я ввожу document.querySelector('#editor')
в консоль, я получаю следующее:
<textarea _ngcontent-c1 dir="rtl" id="editor" name="content"></textarea>
Поэтому я не уверен, почему он показывает мне нулевую ошибку в консоли.
Любая помощь будет оценена