In this thread: http://bytes.com/topic/javascript/an...es#post3127765
However I have found that in (W3C compliant browsers) this does not work correctly inside a contentEditable division. With a couple of modifications, I can at least get the caret position, on a per line basis.
Expand|Select|Wrap|Line Numbers
- var findCaretPosition = function(obj){
- var startpos = 0;
- var endpos = 0;
- if(document.getSelection){
- var sel = window.getSelection().getRangeAt(0);
- startpos = sel.startOffset;
- endpos = sel.endOffset;
- } else {
- var range = document.selection.createRange();
- var rangeCopy = range.duplicate();
- rangeCopy.moveToElementText(obj);
- rangeCopy.setEndPoint( 'EndToEnd', range );
- startpos = rangeCopy.text.length - range.text.length;
- endpos = startpos + range.text.length;
- }
- return [startpos, endpos];
- }
Cheers, Josh