После немного пустячный, я получил его на работу со следующим кодом:
$(document).ready(function() {
CKEDITOR.on('instanceReady', function(ev) {
ev.editor.focus();
var s = ev.editor.getSelection(); // getting selection
var selected_ranges = s.getRanges(); // getting ranges
var node = selected_ranges[0].startContainer; // selecting the starting node
var parents = node.getParents(true);
node = parents[parents.length - 2].getFirst();
while (true) {
var x = node.getNext();
if (x == null) {
break;
}
node = x;
}
s.selectElement(node);
selected_ranges = s.getRanges();
selected_ranges[0].collapse(false); // false collapses the range to the end of the selected node, true before the node.
s.selectRanges(selected_ranges); // putting the current selection there
}
});
Идея такова:
- Получить корневой узел (не тела)
- Переход к следующему узлу, пока не будет больше узлов для перехода.
- Выберите последний узел.
- Свернуть это
- Установить диапазон
Я не понимаю, о чем вы говорите. Каков точный синтаксис? Я не вижу поля Selection на моем объекте ckeditor. – BrooklynDev
-1 Не работает для меня ни –