[英]Focus on input field with value
我专注于jQuery的输入字段:
$("input:text").focus();
输入字段中已存在一些文本值。 当我对焦时,光标在最后一个字母后面闪烁,如何将光标放在第一个字母的正前方?
你可以使用我为你创建的这个小插件(从这个脚本修改):
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();
}
};
// usage:
$('input:text').setCaret(0);
添加selectionStart以使其更加crossbrowser
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;
}
};
// usage:
$('input:text').setCaret(0);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.