2
我有一个div标签,里面有一堆文本。JavaScript获取最接近点击字符的页面坐标
<div>Lots of text in here</div>
我正在侦听来自div的onclick事件。我想在用户点击div的任何地方插入假文本光标。我可以很容易地得到什么字符被点击:
var sel = window.getSelection();
sel.focusOffset;
但我不知道如何获得该字符的像素坐标。
那么,rangy是否在选择范围的开始/结尾添加了一个虚拟元素,并从元素中获取坐标?还是以另一种方式做它?我真的只需要使用选择/范围来完成这一件事,因此必须包含整个图书馆将是一件耻辱。 – Azmisov
我不认为rangy这样做。它会给你一些线条,你用这些线条做什么取决于你。但是一旦你有了这些坐标,添加/显示一个虚拟元素(对于游标)应该是直截了当的。如果你不想包括整个库,你可能想看看它的来源,看看它如何确定coords。有一点需要考虑的是,rangy似乎在很多浏览器中都经过了很好的测试,从稳定性的角度来看,它可能比定制代码更好。 – techfoobar
好的,谢谢。 – Azmisov