Как получить координаты конца выделенного текста с помощью javascript?
моя проблема похожа на этой, но мне нужен способ получить координаты правой части выбора с помощью Javascript в Firefox. Я сделал небольшой пример, чтобы показать, что я имею в виду:
код, который я получил от другого сообщения, следующий:
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);
Это дает мне координаты начала отбора. Есть ли способ получить координаты конца выборки?
1 ответов
да. Это довольно просто: вам просто нужно позвонить collapse(false)
на диапазоне, полученном из выборки. Имейте в виду, что document.getBoxObjectFor()
теперь удален из Mozilla, поэтому вам нужен фиктивный элемент getBoundingClientRect()
метод вместо этого:
var range = window.getSelection().getRangeAt(0);
range.collapse(false);
var dummy = document.createElement("span");
range.insertNode(dummy);
var rect = dummy.getBoundingClientRect();
var x = rect.left, y = rect.top;
dummy.parentNode.removeChild(dummy);