Get current caret/cursor position
HTML
<textarea id="textarea" style="width:80%;height:100px;">
You can move caret around in this textarea and there should be a position indicator below which tells you what the caret position in this textarea is.
Line break
</textarea><br><input type="text" id="indicator" style="width:30px;">
JavaScript
var indicator = document.getElementById("indicator");
var textarea = document.getElementById("textarea");
setInterval(function() { indicator.value = caret(textarea);}, 100);
/*
FILE ARCHIVED ON 3:43:49 Mar 29, 2007 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 6:59:16 Nov 12, 2015.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
*/
function caret(node) {
if(node.selectionStart) return node.selectionStart;
else if(!document.selection) return 0;
//node.focus();
var c = "\001";
var sel = document.selection.createRange();
var txt = sel.text;
var dul = sel.duplicate();
var len = 0;
try{ dul.moveToElementText(node); }catch(e) { return 0; }
sel.text = txt + c;
len = (dul.text.indexOf(c));
sel.moveStart('character',-1);
sel.text = "";
return len;
}