Возможно, взгляните на плагин A-Tools для jQuery.
Базовое использование выглядит так:
var cSelection = $("#myInput").getSelection();
/* might give, (start and end would be equal for normal caret operation) */
cSelection = { 'start': 0, 'end': 3, 'text': '123', 'length': 3 };
/* move caret to one place after end of selection */
$('#myInput').setCaretPos(cSelection.end + 1);