Dapatkan koordinat seleksi di CKEditor

Ketika sebuah teks dipilih, saya ingin sebuah rentang muncul di atasnya (seperti tooltip). Ini rentangnya:

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

Itu harus ditambahkan di atas pilihan tetapi saya tidak dapat menemukan cara untuk mendapatkan koordinat pilihan:

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

Bantuan apa pun akan sangat dihargai.


person user3568791    schedule 28.04.2015    source sumber


Jawaban (1)


Anda bisa mendapatkan objek jendela editor dari CKEditor menggunakan cara berikut, meskipun mungkin ada cara yang lebih langsung:

var win = editor.window.$;

Dari sana, Anda dapat menggunakan getSelectionCoords() dari jawaban ini:

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