CKEDITOR - <p>而不是造成复制粘贴问题</p>

时间:2013-12-07 01:25:53

标签: javascript ckeditor

前段时间我将CKEDITOR更改为不使用<br>标记并改为使用<p>。这让我的事情变得更轻松。

但今天我在这里发现了一个问题......当我粘贴到ckeditor这个文本时:

  

文本

     

更多文字

CKEDITOR这样做:<p>Text</p><p>More text</p>。我如何配置ckeditor,以便它只在整个文本中放置单个<p>标记,并在其中放置<br/>的?

1 个答案:

答案 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;
} );