Положение строки у мыши? - PullRequest
0 голосов
/ 13 ноября 2011

Я пытаюсь найти позицию в строке, чтобы добавить к ней тег <img>, используя jQuery.

То, что я планирую сделать, - это при наведении указателя мыши преобразовать абзац в строку или в текстовую область.

Есть ли способ добавить HTML к позиции курсора?

Ответы [ 2 ]

1 голос
/ 13 ноября 2011

Используйте window.getSelection () и Range:

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

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

1 голос
/ 13 ноября 2011

Если даны координаты 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...