前段时间我将CKEDITOR更改为不使用<br>
标记并改为使用<p>
。这让我的事情变得更轻松。
但今天我在这里发现了一个问题......当我粘贴到ckeditor这个文本时:
文本
更多文字
CKEDITOR这样做:<p>Text</p><p>More text</p>
。我如何配置ckeditor,以便它只在整个文本中放置单个<p>
标记,并在其中放置<br/>
的?
答案 0 :(得分:1)
没有用于粘贴自身的配置选项。但是,如果将config.enterMode
设置为CKEDITOR.ENTER_BR
,则可以更改整个CKEditor的行为。然后CKEditor根本不会使用段落。另一方面,不建议使用其他输入模式,因为默认(CKEDITOR.ENTER_P
)是最正确,语义和最佳支持。
虽然,如果你必须改变粘贴行为,还有一种方法。您可以按照首选方式收听editor#paste
事件并转换内容。非常粗略的实现看起来像这样:
editor.on( 'paste', function( evt ) {
var data = evt.data.dataValue;
data = data
.replace( /^<p>/, '' )
.replace( /<\/p>$/, '' )
.replace( /<\/p><p>/g, '<br />' );
evt.data.dataValue = data;
} );