Add selectionStart to make it more complex.
jQuery.fn.setCaret = function (pos) {
var input = this[0];
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(pos, pos);
} else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
} else if(input.selectionStart){
input.focus();
input.selectionStart = pos;
input.selectionEnd = pos;
}
};
$('input:text').setCaret(0);
source
share