1

CKEditor我想区分粘贴的内容和用户添加的内容。因此,在pasteckeditor 事件中,我将p复制内容的标签更改为,div以便所有新段落都由div复制代码的标签表示。下面是代码。

editor.on('paste', function(evt) {
     evt.data.dataValue = data.replace(/(<p)/igm, '<div').replace(/<\/p>/igm, '</div>');
});

这很好用,但是当我按下回车键并尝试添加任何新内容时,这样做之后ckeditor会添加一个新div标签来包装内容,而我的配置中存在这个声明

config.enterMode = CKEDITOR.ENTER_P;
config.shiftEnterMode = CKEDITOR.ENTER_P;

我试图在粘贴事件后更改输入模式,但没有帮助。

editor.on('afterPaste', function(evt) {
    editor.setActiveEnterMode(null);
});

有什么建议吗?

4

1 回答 1

2
  1. 您不应该将<div>s 与段落混合。编辑器中的内容应该是干净的,如果不一致,就会变得混乱。这可能会在未来引起更多问题。
  2. 试试这个config.forceEnterMode选项。默认情况下,CKEditor 使用您当前所在的块(保持一致)。使用此选项,您将强制它使用进入模式中的块。
于 2015-08-10T12:44:04.350 回答