CKEditor5: запретить копирование атрибутов в новый абзац при вводе - PullRequest
0 голосов
/ 16 мая 2018

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

<p contentid="1">some default content</p> 

Когда нажата клавиша ввода из этого абзаца, вводится следующий абзацтакже имеет атрибут contentid="1".Я хочу, чтобы новый абзац не имел атрибута contentid.

Я пытаюсь определить, как / где лучше всего этого добиться.Я хохотал, слушая клавишу ввода и schema.addChildCheck, но не добиваясь большого прогресса.

1 Ответ

0 голосов
/ 16 мая 2018

Это, кажется, делает трюк.Возможно, немного хакерский .. но понял, что выбор всегда во вновь созданном элементе.Поэтому мне не нужно было искать ссылку на него в обратном вызове, я мог просто взять новый абзац из текущего выделения.

editor.commands.get( 'enter' ).on( 'afterExecute', () => {
  const block = first( editor.model.document.selection.getSelectedBlocks() );
  editor.model.change( writer => {
    writer.removeAttribute( 'contentid', block );
  });
});
...