【问题标题】:how do I get co-ordinates of selected text in an html using javascript document.getSelecttion()如何使用 javascript document.getSelection() 在 html 中获取选定文本的坐标
【发布时间】:2011-02-06 00:03:06
【问题描述】:

我想将元素放置在所选文本上方。但我无法弄清楚坐标。

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

示例:(图片)

【问题讨论】:

标签: javascript getselection


【解决方案1】:

这是基本思想。您在选择的开头插入虚拟元素并获取该虚拟 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);

【讨论】:

  • 看看这里,这可能是确定假人位置的更好方法 - quirksmode.org/js/findpos.html 我通常使用 jQuery 和偏移插件,所以我没有浏览器兼容性问题。
  • 能否提供jquery插件的链接?谢谢。
  • 这些都不适用于 IE,它有一个完全不同的机制来获取和操作用户选择。此外,document.getBoxObjectFor 是一个现已弃用的 Mozilla 扩展程序,并且从一开始就从未打算在网页中使用。
  • @Tim: document.getBoxObjectFor 从 FF 3.6 开始完全消失。
  • 库是 jquery.com 这里是例子 - stackoverflow.com/questions/683339/…
猜你喜欢
  • 2011-04-15
  • 2013-10-27
  • 1970-01-01
  • 2011-11-22
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
相关资源
最近更新 更多