XY Caret协调在一个满足的div中

Cri*_*a23 3 caret contenteditable coordinate-systems

我正在寻找一种方法来获取插入符号中的插入符号xy坐标,类似于如何使用window.event获取鼠标坐标,因为我需要打开一个弹出窗口,确切地说是用户使用插入符号的位置在满足的div中.我怎样才能做到这一点?非常感谢!

Tim*_*own 6

这是一种方法:

浏览器页面中所选文本的坐标

但是,在某些情况下,这不会给你坐标,在这种情况下你需要回退到在插入符号处插入一个元素,获取它的位置并再次删除元素.

  • @RafaelDiaz:`var span = document.createElement("span"); span.appendChild(document.createTextNode("\ u200b")/*零宽度空格字符*/); .window.getSelection()getRangeAt(0).insertNode(跨度);` (3认同)
  • @RafaelDiaz:零宽度空格字符确保浏览器不会将元素视为完全折叠,从而确保它具有边界矩形.我不记得这是不是应该按照规范进行,我担心.对于ID,如果您保留对范围的引用,则不需要ID.在我之前的评论中的代码之后,您可以简单地执行`span.parentNode.removeChild(span)`来再次删除它. (3认同)