CKEditor Встроенная упаковка выбора

Я ищу способ добавить встроенный элемент span с атрибутами в выделение. Сложная часть этого заключается в том, чтобы заставить его работать с выборками, которые проходят через несколько элементов уровня блока.

Я искал в исходном коде StyleCombobox и нашел эту строку.

var style = styles[ value ],
elementPath = editor.elementPath();
editor[ style.checkActive( elementPath ) ? 'removeStyle' : 'applyStyle' ]( style );

Таким образом, он уже работает с несколькими элементами уровня блока.

Единственное, что я хотел бы применить атрибуты к диапазону, который сделан вокруг множественного выбора для различных элементов уровня блока вместо применения элемента стиля.

Кто-нибудь знает, как это можно сделать?

2 ответа

Решение

Я использовал это как решение. Действительно возможно установить атрибуты и тип элемента. это не было определено в API. Я нашел это в API CKEditor 3.0 (более старая версия)

var style = new CKEDITOR.style({attributes: {name:"changed"}});
editor.applyStyle(style);

Последнее решение для вашей проблемы.

Получить выбранный текст:

editor.getSelection().getSelectedText();

Положить теги и атрибуты

editor.applyStyle(new CKEDITOR.style({
        element : 'span', 
        attributes : {'class':'YourClass','data-Otherattr':'otherattrvalue'}, 
        style : {'background-color':'gray'} 
    });
);
Другие вопросы по тегам