我想定位元素在選定文本上方。但我無法弄清楚座標。我如何使用JavaScript獲取HTML中選定文本的座標document.getSelecttion()
var sel = document.getSelection();
if(sel != null) {
positionDiv();
}
實施例:(圖像)
alt text http://www.freeimagehosting.net/uploads/bf4035f29f.png
我想定位元素在選定文本上方。但我無法弄清楚座標。我如何使用JavaScript獲取HTML中選定文本的座標document.getSelecttion()
var sel = document.getSelection();
if(sel != null) {
positionDiv();
}
實施例:(圖像)
alt text http://www.freeimagehosting.net/uploads/bf4035f29f.png
這裏的基本思想。您在選擇的開頭插入虛擬元素並獲取該虛擬html元素的座標。然後你刪除它。
var range = window.getSelection().getRangeAt(0);
var dummy = document.createElement("span");
range.insertNode(dummy);
var box = document.getBoxObjectFor(dummy);
var x = box.x, y = box.y;
dummy.parentNode.removeChild(dummy);
請張貼特定答案的代碼。 – 2010-04-09 04:49:31
好的。更新了更多細節。 – priyank 2010-04-09 06:01:58
可能的重複:http://stackoverflow.com/questions/1589721/how-can-i-position-an-element-next-to-user-text-selection – 2010-04-09 09:21:31