Установить позицию курсора в текстовой области с помощью JQuery

Как установить позицию курсора в текстовое поле с помощью jQuery? У меня есть текстовое поле с содержимым, и я хочу, чтобы пользовательский курсор получал определенное смещение при выборе этого поля. Код должен выглядеть как-то вот так:

$('#input').focus(function() {
  $(this).setCursorPosition(4);
});

Как примерно должна выглядеть функция setCursorPosition? Есть похожие функции для Java, например setCaretPosition. Есть ли похожий способ для javascript?

Обновление: я изменил код CMS для работы с jQuery следующим образом:

new function($) {
  $.fn.setCursorPosition = function(pos) {
    if ($(this).get(0).setSelectionRange) {
      $(this).get(0).setSelectionRange(pos, pos);
    } else if ($(this).get(0).createTextRange) {
      var range = $(this).get(0).createTextRange();
      range.collapse(true);
      range.moveEnd('character', pos);
      range.moveStart('character', pos);
      range.select();
    }
  }
}(jQuery);

Найдено 13 ответов:

jQuery Set Cursor Position in Text Area

http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area

Посмотреть решение →