применить размер шрифта с помощью execCommand - PullRequest
1 голос
/ 04 мая 2010

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)

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

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

Мне нужно знать, почему bold, forecolor и JustifyCenter заключены в span, а не в размер шрифта !!

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

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


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»); ??

1 Ответ

1 голос
/ 05 мая 2010

от

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');

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...