我的问题类似于this ,但我需要一种方法来在 Firefox 中使用 Javascript 获取选择右侧的坐标。我举了一个小例子来说明我的意思:
我从另一个帖子得到的代码如下:
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);
这给了我选择开始的坐标。有什么方法可以检索选择结束的坐标吗?
最佳答案
是的。这一点非常简单:您只需对从选择中获得的范围调用 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);
关于javascript - 如何使用javascript获取所选文本末尾的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3767606/