Я решил это немного по-другому. Вместо того, чтобы вставлять фиксированный диапазон ширины, я хотел, чтобы вкладки располагались по всем строкам. Итак, я вставляю символ табуляции (& # 0 9) с предварительным форматированием. У меня также были трудности с insertHtml (), и вместо этого мне пришлось использовать комбинацию createFromHtml () и insertElement ().
Вот мое решение:
// my editor's id is 'summary'
CKEDITOR.replace('summary', { ... });
var editor = CKEDITOR.instances.summary;
editor.on('key', function(ev) {
if (ev.data.keyCode == 9) { // TAB
var tabHtml = '<span style="white-space:pre">	</span>';
var tabElement = CKEDITOR.dom.element.createFromHtml(tabHtml, editor.document);
editor.insertElement(tabElement);
ev.cancel();
}
});