Я хотел бы расположить элемент выше выделенного текста. Но я не могу выяснить координаты.
var sel = document.getSelection();
if(sel != null) {
positionDiv();
}
Пример: (изображение)
Вот основная идея. Вы вставляете фиктивный элемент в начало выделения и получаете координаты этого фиктивного элемента html. Затем вы его снимаете.
var range = window.getSelection().getRangeAt(0);
var dummy = document.createElement("span");
range.insertNode(dummy);
var box = document.getBoxObjectFor(dummy);
var x = box.x, y = box.y;
dummy.parentNode.removeChild(dummy);