マウスでの文字列の位置?

私は、jQueryを使用してドロップ時に タグを追加する文字列内の位置を見つけようとしています。

私がやっていることは、ホバー上の段落のHTMLを文字列に変換するか、テキスト領域に変換することです。

HTMLをカーソルの位置に追加する方法はありますか?

0
追加された 編集された
ビュー: 1

2 答え

X座標とY座標が指定されている場合は、 document.elementFromPoint(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);
1
追加された
入力フィールドの特定のテキストの正確な位置を取得するために探していた場合、以前はその作成に数時間を費やしていました。この回答
追加された 著者 Rob W,
偉大な男、私はこれらを後で試して待つことができない:)
追加された 著者 Anthem127,

window.getSelection()とRange:を使用します。

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

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

1
追加された
感謝を言いたいだけでした!これは私が必要とした道を私に導く:)
追加された 著者 Anthem127,