Как я могу получить координаты выделенного текста в HTML, используя javascript document.getSelecttion () - PullRequest
8 голосов
/ 09 апреля 2010

Я хотел бы расположить элемент над выделенным текстом. Но я не могу выяснить координаты.

var sel = document.getSelection();
  if(sel != null) {
    positionDiv();
}

Пример: (изображение)

альтернативный текст http://www.freeimagehosting.net/uploads/bf4035f29f.png

1 Ответ

3 голосов
/ 09 апреля 2010

Вот основная идея. Вы вставляете фиктивный элемент в начале выделения и получаете координаты этого фиктивного 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);
...