2010-04-09 3 views
8

선택한 텍스트 위에 요소를 배치하고 싶습니다. 그러나 나는 좌표를 알아낼 수 없다.javascript document.getSelecttion()을 사용하여 html로 선택한 텍스트의 좌표를 얻는 방법

var sel = document.getSelection(); 
    if(sel != null) { 
    positionDiv(); 
} 

예 (이미지) 여기서

alt text http://www.freeimagehosting.net/uploads/bf4035f29f.png

+0

특정 답변을 게시하십시오. –

+0

확인. 자세한 내용이 업데이트되었습니다. – priyank

+1

가능한 복제본 : http://stackoverflow.com/questions/1589721/how-can-i-position-an-element-next-to-user-text-selection –

답변

3

기본적인 아이디어이다. 선택 영역의 처음에 더미 요소를 삽입하고 그 더미 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); 
+1

감사합니다 ... – priyank

+0

환영합니다. . –

+0

getBoxObjectFor는 IE에서 작동합니까? – priyank

관련 문제