在CKEditor中设置默认元素

时间:2014-11-19 11:55:07

标签: ckeditor

我有一个名为' Paragraph'的自定义样式设置,它(显然)为用户创建了一个p元素,用于输入文本。

首次进入CKEditor区域时,未设置样式,用户在任何特定元素内输入文本。例如,底部的位置栏只显示body

有没有办法让编辑器默认使用p元素,这样当用户第一次进入编辑区时,它们就在body > p

我花了一段时间检查文档,并且可以看到如何设置默认字体和字体大小,但这不是我想要的。

修改 以下是我自定义提供样式的 styles.js 文件:

CKEDITOR.stylesSet.add( 'default', [
/* Block Styles */

// These styles are already available in the "Format" combo ("format" plugin),
// so they are not needed here by default. You may enable them to avoid
// placing the "Format" combo in the toolbar, maintaining the same features.

{ name: 'Paragraph', element: 'p' },

{ name: 'Heading 1',        element: 'h1' },
{ name: 'Heading 2',        element: 'h2' },
{ name: 'Heading 3',        element: 'h3' },
{ name: 'Heading 4',        element: 'h4' },
{ name: 'Heading 5',        element: 'h5' },
{ name: 'Heading 6',        element: 'h6' }

]);

这是 config.js 文件

CKEDITOR.editorConfig = function (config) {

// To disable CKEditor ACF
config.allowedContent = true;
config.uiColor = '#ffffff';
config.dialog_backgroundCoverColor = '#888888';
config.skin = 'moono';
config.enterMode = CKEDITOR.ENTER_BR;
config.shiftEnterMode = CKEDITOR.ENTER_P;
config.entities_latin = false;
config.protectedSource.push(/<script[\s\S]*?<\/script>/gi);   // <SCRIPT> tags.

config.toolbar_Full = config.toolbar_Default =
[
    ['Source', '-'],
    ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', 'SpellChecker', 'Scayt', '-'],
    ['Undo', 'Redo', 'Find', 'Replace', 'RemoveFormat', '-'],
    //['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-'],
    //['NumberedList', 'BulletedList', 'Outdent', 'Indent', 'Blockquote','CreateDiv', '-'],
    ['NumberedList', 'BulletedList', 'Outdent', 'CreateDiv', 'Blockquote', '-'],
    //['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-'],
    ['InsertLink', 'Unlink', 'Anchor', '-'],
    //['InsertImageOrMedia', 'QuicklyInsertImage', 'Table', 'HorizontalRule', 'SpecialChar', '-'],
    ['InsertImageOrMedia', 'Table', 'SpecialChar', '-'],
    //['InsertForms', 'InsertPolls', 'InsertRating', 'InsertYouTubeVideo', 'InsertWidget', '-'],
    ['InsertForms', 'InsertYouTubeVideo', 'InsertWidget', '-'],
    //['Styles', 'Format', 'Font', 'FontSize'],
    ['Styles', '-'],
    //['TextColor', 'BGColor', '-'],
    //['InsertMacro', '-'],
    ['Maximize', 'ShowBlocks']
];

config.toolbar = config.toolbar_Full;

config.scayt_customerid = '***';};

以下是首次进入该区域时所发生情况的屏幕截图:screenshot of what happens on first entering the area

1 个答案:

答案 0 :(得分:3)

在这种情况下,罪魁祸首似乎是config.enterMode = CKEDITOR.ENTER_BR;

此处的解决方法是插入<p></p>作为编辑器的默认内容,以便在初始化或清除时它实际上不为空。光标应自动插入段落内。