javascript - 如何使用javascript获取所选文本末尾的坐标?

标签 javascript firefox getselection

我的问题类似于this ,但我需要一种方法来在 Firefox 中使用 Javascript 获取选择右侧的坐标。我举了一个小例子来说明我的意思:

alt text

我从另一个帖子得到的代码如下:

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/

相关文章:

javascript - window.getSelection() 的值在回调期间发生变化

javascript - 用于查找小数/ float 的正则表达式?

javascript - 如何使用代码检查浏览器中的弹出窗口阻止程序是否打开?

javascript - ipython %%javascript 魔术输出到单元格和控制台

jquery - 在 Firefox 中加载页面时的 Css 隐藏 div

javascript - 在 javascript 中找到两个 DOM 节点的第一个公共(public)父节点的最佳方法是什么?

javascript - Backbone.js - 搜索字段 : use only one Item

html - CSS 文本背景剪辑在 Firefox 上与在 Chrome 上非常不同

javascript - 已编辑的 html 元素的值

java - 如何获取 JList 中的选定项并使用转换