当选择文本时,我希望在其上方显示跨度(如工具提示)。这是跨度:
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);
}
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
您可以使用以下方法从CKEditor获取编辑器窗口对象,尽管可能有更直接的方式:
var win = editor.window.$;
从那里,您可以使用this answer中的getSelectionCoords()
:
var coords = getSelectionCoords(win);