применить размер шрифта с помощью execCommand

var wgetFrame = window.frames[0] wframeDoc = wgetFrame.document;

editor.focus();
editor.execCommand('bold');
wframeDoc.execCommand('forecolor',false,'#00ff00');
wframeDoc.execCommand('JustifyCenter', false, null);
wframeDoc.execCommand('fontsize', false, 15);

(я использую приведенный выше код как плагин в CKEditor)

жирный, передний цвет и JustifyCenter, все они отображаются правильно, выделенный текст оборачивается элементом span

но при применении команды fontsize выбранный идет внутри элемента шрифта, я знаю, что это правильно, но он должен быть внутри элемента span

мне нужно знать, почему жирный шрифт, передний цвет и JustifyCenter обернуты диапазоном, а размер шрифта нет !!

а также если есть другой способ применить эти стили

(ps: я запускаю эти команды, когда ckeditor инициализируется, даже если редактор не содержит текста, когда вы пишете, применяется определенный стиль)


CKEDITOR.editorConfig = function(config) {
CKEDITOR.addStylesSet('customStyles',
[
    { name: 'Header 1', element: 'h1' },
    { name: 'Header 2', element: 'h2' },
    { name: 'Header 3', element: 'h3' },
    { name: 'Text', element: 'p' },
    { name: 'Left Align', element: 'img', attributes: { 'class': 'ImageLeft'} },
    { name: 'Right Align', element: 'img', attributes: { 'class': 'ImageRight'} }
]);

};

могу ли я применить editor.execCommand («Заголовок 1»); ??


person Wiika    schedule 04.05.2010    source источник


Ответы (1)


от

onClick : function( value ) {
    editor.focus();
    editor.fire( 'saveSnapshot' );

    var style = styles[ value ];

    if ( this.getValue() == value )
        style.remove( editor.document );
    else
        style.apply( editor.document );

    editor.fire( 'saveSnapshot' );
}

в _source\plugins\font\plugin.js я смог найти способ сделать это, но это кажется немного длинным

editor.focus();
editor.fire('saveSnapshot');

var styles = new CKEDITOR.style({
    element     : 'span',
    styles      : { 'font-size' : '#(size)' },
    overrides   : [ { element : 'font', attributes : { 'size' : null } } ]
}, {size: '72px'});

styles.apply( editor.document );
editor.fire('saveSnapshot');

проблема, которую я получаю сейчас, связана с фокусом редактора, когда вы обедаете в редакторе, вы видите примененный размер шрифта, но если вы нажмете на элемент вне редактора и вернетесь, курсор покинет диапазон стилей = "72px" и создаст новый элемент P

person Wiika    schedule 04.05.2010