Javascript 关注具有值的输入字段
我主要关注jQuery的输入字段:Javascript 关注具有值的输入字段,javascript,jquery,Javascript,Jquery,我主要关注jQuery的输入字段: $("input:text").focus(); 输入字段中已经有一些文本值。当我聚焦时,光标在最后一个字母之后闪烁,我如何将光标放在第一个字母的正前方?您可以使用我为您创建的这个小插件(修改自): 演示:添加选择开始,使其更具交叉性 jQuery.fn.setCaret = function (pos) { var input = this[0]; if (input.setSelectionRange) { input.f
$("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();
} else if(input.selectionStart){
input.focus();
input.selectionStart = pos;
input.selectionEnd = pos;
}
};
// usage:
$('input:text').setCaret(0);
@D_N:它首先检查input.setSelectionRange是否可用,该对象是除IE之外的所有浏览器使用的对象。如果是,它将聚焦字段并将插入符号定位在指定位置。如果它不可用,它会检查IE方法并使用它。
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);