CKEditor5:阻止在输入时将属性复制到新段落

时间:2018-05-15 23:19:21

标签: ckeditor5

我正在开发一个允许用户将内容注入可编辑内容的项目。我在段落中添加了contentid属性,以便跟踪已添加的内容及其位置。

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

当从该段落中按下enter时,输入的下一段也具有contentid="1"属性。我希望新段落不具有contentid属性。

我试图确定如何/最佳地实现这一目标。我一直在聆听输入键和schema.addChildCheck,但没有取得多大进展。

1 个答案:

答案 0 :(得分:1)

这似乎可以解决问题。也许有点hacky ..但意识到选择总是在新创建的元素中。所以我不需要在回调中找到它的引用,我可以从当前选择中获取新段落。

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