鼠标处的字符串位置

Position of string at mouse?

本文关键字:位置 字符串 鼠标      更新时间:2023-09-26

我试图在字符串中找到一个位置,使用jQuery将<img>标记附加到on drop。

我打算做的是在悬停转换一个段落的HTML字符串,或者可能是一个文本区域。

是否有办法将HTML附加到光标的位置?

使用window.getSelection()和Range:

http://www.quirksmode.org/dom/range_intro.html

http://help.dottoro.com/ljvhnwsk.php

如果X和Y坐标已知,则可以使用document.elementFromPoint(x, y)获得该元素。否则,您可以使用本答案中描述的方法获得X和Y。

所以,设X和Y已知。然后:

function appendElementAt(img, x, y){
    var elem = document.elementFromPoint(x, y);
    var pos = elem.getBoundingClientRect();   //Calculate position of element
    var topPos = y - pos.top;                 // Calculate top position
    var leftPos = x - pos.left                // Calculate left positon
    elem.style.position = "relative";
    img.style.position = "absolute";
    img.style.top = topPos;
    img.style.left = leftPos;
    elem.appendChild(img);
}
// Usage:
var img = document.createElement("img");
appendElementAt(img, x, y);