2010-04-09 17 views
8

Chciałbym pozycjonować element powyżej zaznaczonego tekstu. Ale nie jestem w stanie ustalić współrzędnych.Jak uzyskać współrzędne zaznaczonego tekstu w html przy użyciu javascript document.getSelecttion()

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

Przykład: (image)

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

+0

Proszę napisać kod dla konkretnej odpowiedzi. –

+0

ok. zaktualizowany o więcej szczegółów. – priyank

+1

Możliwe duplikaty: http://stackoverflow.com/questions/1589721/how-can-i-position-an-element-next-to-user-text-selection –

Odpowiedz

3

Oto podstawowa idea. Wstawiasz fikcyjny element na początku zaznaczenia i otrzymujesz współrzędne tego fałszywego elementu html. Potem ją usuń.

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

Dziękuję za ... – priyank

+0

Serdecznie zapraszamy . –

+0

Czy getBoxObjectFor działa dla IE? – priyank