2013-04-30 4 views
2

poped를 열어야하므로 window.event를 사용하여 마우스 좌표를 가져 오는 것과 비슷한 방식으로 contenteditable div 내부에 캐럿 xy 좌표를 가져 오는 방법을 찾고 있습니다. - 사용자가 contenteditable div 안에있는 캐럿과 정확히 일치하는지 확인하십시오. 어떻게해야합니까? 많은 감사합니다!XY caret contentedit div 내 좌표 조정

답변

5

여기에 하나의 접근 방식 :

Coordinates of selected text in browser page 그러나

, 이것은 당신이 당신이 캐럿에 요소를 삽입하는 위치를 얻기에 후퇴해야하는 것이 경우, 좌표를 제공하지 않습니다 어떤 경우에는 요소를 다시 제거하십시오.

+0

Thnaks, Tim! 이것은 내가 찾고 있었던 바로 그 것이다! 나는 그것을 테스트했고 IE8, Firefox 및 Chrome에서 예상대로 xy 좌표를 반환합니다. 오페라 v 12.14에서만 나타납니다. var rect = range.getClientRects() [0]; undefined를 반환하고 IE9에서는 x = range.boundingLeft를 반환합니다. y = range.boundingTop; 나는 x = 0, y = 0을 얻는다. 나는이 브라우저에서도 작동 할 필요가있다. :) – Crista23

+0

감사합니다, 팀! 나는 엘리먼트를 캐럿에 삽입하고 위치를 얻으라고 제안한 것과 마찬가지로 IE9에서도 작동하도록했습니다. 많은 도움과 지원을 해주신 것에 대해 많은 감사를드립니다! – Crista23

+0

동일한 것을하려고하면 캐럿이 줄의 시작 부분에 있으면 좌표를 계산할 때 작동하지 않는 것 같습니다. 문제를 어떻게 해결했는지 알 수 있습니까? 어떻게 캐럿에 요소를 삽입 했습니까? –