This library is no longer maintained, you may want to take a look at this solution instead: https://github.com/component/textarea-caret-position
To obtain the text cursor position in a
<textarea> or an
<input> text field.
Cursor position is provided either in characters, or in pixels relative to top-left corner of the text area.
The library can be used for positioning of a completion popup window in a
<input> text field right
near the caret. Given that long text is wrapped in
<textarea>s, the task is not very trivial.
There is another, more recent library which uses the same principle and may have less (or different) bugs: https://github.com/component/textarea-caret-position
The library tries to model text wrapping in the textarea and to find out relative cursor position. The results are not 100% accurate, but really close to it. Tested against IE8+, Chrome, Opera, Firefox as of 2012.
var padding = 3; var positioner = new maxkir.CursorPosition(textarea_element, padding); alert(positioner.getCursorCoordinates()); // [x, y] position of cursor in textarea in characters alert(positioner.getPixelCoordinates()); // [x, y] position of cursor in textarea in pixels
See also the functional test under [test/cursor_position_test.html]
Copyright (c) 2010-2012 Kirill Maximov, released under the MIT license