CKEditor5: запретить копирование атрибутов в новый абзац при вводе
Я работаю над проектом, который позволяет пользователям вводить контент в редактируемый. Я добавил contentid
Атрибут для абзаца, чтобы я мог отслеживать, что было добавлено и где он находится.
<p contentid="1">some default content</p>
Когда нажата клавиша Enter из этого абзаца, следующий введенный абзац также имеет contentid="1"
приписывать. Я хочу, чтобы в новом абзаце не было contentid
приписывать.
Я пытаюсь определить, как / где лучше всего добиться этого. Я хакнул с прослушиванием клавиши ввода и schema.addChildCheck
но не добился большого прогресса.
1 ответ
Это, кажется, делает трюк. Может быть, немного хакерский.. но понял, что выбор всегда во вновь созданном элементе. Поэтому мне не нужно было искать ссылку на него в обратном вызове, я мог просто взять новый абзац из текущего выделения.
editor.commands.get( 'enter' ).on( 'afterExecute', () => {
const block = first( editor.model.document.selection.getSelectedBlocks() );
editor.model.change( writer => {
writer.removeAttribute( 'contentid', block );
});
});