在CKEditor中获取选择的坐标

时间:2015-04-28 14:20:10

标签: javascript ckeditor tooltip coordinates selection

当选择文本时,我希望在其上方显示跨度(如工具提示)。这是跨度:

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

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法从CKEditor获取编辑器窗口对象,尽管可能有更直接的方式:

var win = editor.window.$;

从那里,您可以使用this answer中的getSelectionCoords()

var coords = getSelectionCoords(win);