进入模式在CKEditor中发生了变化

时间:2015-08-10 11:40:02

标签: javascript ckeditor ckeditor4.x

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

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

这样可以正常但是在我按下回车并尝试添加任何新内容后ckeditor正在添加新的div标签来包装内容,而我的配置中存在此声明< / p>

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

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

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

有任何建议吗?

1 个答案:

答案 0 :(得分:2)

  1. 您不应将<div>与段落混在一起。编辑器中的内容应该是干净的,并且通过使其不一致而使其变得混乱。这可能会在未来引发更多问题。
  2. 尝试config.forceEnterMode选项。默认情况下,CKEditor使用您当前所在的块(为了保持一致)。使用此选项,您将强制它使用输入模式中的块。