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