Получить координаты выделения в CKEditor

Когда текст выделен, я хочу, чтобы над ним отображался диапазон (например, всплывающая подсказка). Это размах:

var span = new CKEDITOR.dom.element.createFromHtml('<span style="position:absolute; display: none; " >Tooltip</span>'); span.setStyle('border', '2px solid black'); span.setStyle('width', '50px'); span.setStyle('height', '50px');

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

span.setStyle('display', 'none');
var editorSel = editor.getSelection();
var selElement = editorSel.getSelectedElement();
if (editorSel.getSelectedText() != '') {
setTimeout(function() {
     //Some way to get the coordinates
     span.setStyle('top', top + 'px');
     span.setStyle('left', left + 'px');
     span.setStyle('display', 'block');

     var ranges = editorSel.getRanges();
     var range = ranges[0];
     range.insertNode(span);
}

Любая помощь будет высоко оценена.


person user3568791    schedule 28.04.2015    source источник


Ответы (1)


Вы можете получить объект окна редактора из CKEditor, используя следующее, хотя может быть и более прямой способ:

var win = editor.window.$;

Оттуда вы можете использовать getSelectionCoords() из этого ответа:

var coords = getSelectionCoords(win); 
person Tim Down    schedule 29.04.2015