Getting selected text position

Ecarrion picture Ecarrion · Mar 3, 2011 · Viewed 37.3k times · Source

Currently I'm getting the selected text in the browser doing this:

window.getSelection();

Now I need to show a tooltip above that text when pressing a custom key(note that the mouse could not be over the text anymore), so in order to do that I need the absolute position of that selected text.

Is there a way to do that, maybe wrapping that text inside a tag and then getting the offsets? It just has to work in Chrome, not all browsers.

Answer

Jerinaw picture Jerinaw · Jul 26, 2013
s = window.getSelection();

Returns a Selection. So try

s = window.getSelection();
oRange = s.getRangeAt(0); //get the text range
oRect = oRange.getBoundingClientRect();

oRect will be the bounding rectangle in client (fixed) coordinates.