CKEditor允许同时使用pasteFilter和enterMode

时间:2017-08-07 08:51:24

标签: javascript ckeditor ckeditor4.x

我希望在编辑器中粘贴文本时以及在编写时使用不同的格式样式。 但是当我定义enterMode : CKEDITOR.ENTER_BR时,它也适用于粘贴的文本,并删除粘贴的文本格式和标记。即它会覆盖pasteFilter: 'semantic-content'行为。

我有什么方法可以保留两者吗?

以下是我的配置:

editor = CKEDITOR.replace("annotationEditor", {
        toolbarGroups: [
        { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }
        ],
        removePlugins : 'uploadimage',
        pasteFilter: 'semantic-content',
        enterMode : CKEDITOR.ENTER_BR,
        /*shiftEnterMode: CKEDITOR.ENTER_P,*/
        extraPlugins : 'maxlength',
        removeButtons : removeButtons,
        pasteFromWordRemoveFontStyles: false,
        autoParagraph : false
    });

我也试过了,但没有奏效:

CKEDITOR.instances['annotationEditor'].on('key', function(e) {
        e.editor.on('change', function (event){
            if(e.data.keyCode == 13){ // Do this code when ENTER is pressed
                CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR;
                CKEDITOR.config.forceEnterMode = true;
            }
        });
    });

1 个答案:

答案 0 :(得分:0)

  

我想在编辑器中粘贴文本时和编写时使用不同的格式样式。

如果您要将enterMode设置为BR并粘贴丰富的内容,那么如果您的ACF设置允许您要粘贴的所有代码,我建议使用{{3} }侦听器具有非常低的优先级并且dontFilter标志设置为true(您也可以在该过滤器中对您自己进行一些过滤)。如果这不能帮助我,我就无法想到其他任何方法。

另一方面,如果你想拥有, enterMode设置为P,您希望将BR模式格式的内容粘贴为paste event设置forcePasteAsPlainTextpasteFromWord等事件}},afterPasteFromWordafterPaste做一些额外的过滤。