Как установить стиль по умолчанию в текущей позиции в CKEditor..?

Как установить некоторые стили CKEditor по умолчанию (представленные в поле со списком «Стили») в текущей позиции через javascript.?

Например, если курсор находится в одной позиции, я должен установить стиль «Маркер: желтый» для этой позиции после ввода любого символа, который должен измениться на желтый. Является ли это возможным?


person Ramesh    schedule 19.07.2012    source источник


Ответы (1)


Я не уверен, понял ли я вас, но разве вы не хотите просто применить команду exec (или удалить), например. смелый стиль? Если да, вы можете сделать это:

editor.execCommand('bold');

Если у вас где-то в тексте есть пустое выделение (каретка), перед выполнением этой команды редактор создаст пустой элемент <strong>^</strong>, поэтому, когда пользователь начнет печатать, текст будет выделен жирным шрифтом.

Обновить

Стили применяются немного по-другому.

var style = new CKEDITOR.style(
    { name: 'Blue Title', element: 'h3', styles: { 'color': 'Blue' } });
style.apply(editor.document);

Это применит стиль Blue Title к текущему выделению. Вы можете найти другие определения стилей в _source/plugins/styles/styles/default.js (http://dev.ckeditor.com/browser/CKEditor/trunk/_source/plugins/styles/styles/default.js) или получить их в коде:

editor.getStylesSet(function(stylesDefinitions) {
    // stylesDefinitions is an array
});
person Reinmar    schedule 19.07.2012
comment
Спасибо. да нормально работает. Я хочу, чтобы стили со списком стилей применялись. Например, «Маркер: желтый», «Маркер: зеленый», как здесь. Является ли это возможным..? - person Ramesh; 20.07.2012
comment
Спасибо .. Работает только тот, у которого есть «стили: {...}». Это не работает для стилей «Пишущая машинка, Компьютерный код, Удаленный текст». Как установить эти стили.. - person Ramesh; 20.07.2012