我希望在编辑器中粘贴文本时以及在编写时使用不同的格式样式。
但是当我定义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;
}
});
});
答案 0 :(得分:0)
我想在编辑器中粘贴文本时和编写时使用不同的格式样式。
如果您要将enterMode
设置为BR
并粘贴丰富的内容,那么如果您的ACF设置允许您要粘贴的所有代码,我建议使用{{3} }侦听器具有非常低的优先级并且dontFilter
标志设置为true(您也可以在该过滤器中对您自己进行一些过滤)。如果这不能帮助我,我就无法想到其他任何方法。
另一方面,如果你想拥有, enterMode
设置为P
,您希望将BR
模式格式的内容粘贴为paste event设置forcePasteAsPlainText,pasteFromWord等事件}},afterPasteFromWord,afterPaste做一些额外的过滤。