Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关注具有值的输入字段_Javascript_Jquery - Fatal编程技术网

Javascript 关注具有值的输入字段

Javascript 关注具有值的输入字段,javascript,jquery,Javascript,Jquery,我主要关注jQuery的输入字段: $("input:text").focus(); 输入字段中已经有一些文本值。当我聚焦时,光标在最后一个字母之后闪烁,我如何将光标放在第一个字母的正前方?您可以使用我为您创建的这个小插件(修改自): 演示:添加选择开始,使其更具交叉性 jQuery.fn.setCaret = function (pos) { var input = this[0]; if (input.setSelectionRange) { input.f

我主要关注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();
    } 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);