将鼠标光标设置在文本块的末尾

时间:2013-06-29 04:29:50

标签: javascript jquery html focus

$(id).focus();将光标位置设置为输入框的开头,但我想将它放在文本末尾,最后一行和最后一个位置。

2 个答案:

答案 0 :(得分:1)

您可以将setSelectionRange用于此

我的代码 -

HTML -

<textarea rows="8" id="txt1" style="width:400px;" >Hello Hello Hello Hello</textarea>

Jquery -

var input = $("#txt1");
var len = input.val().length;
input[0].focus();
input[0].setSelectionRange(len, len);

尝试 -

Example

答案 1 :(得分:0)

试试这个:

$(document).ready(function(){
        $("#search").focus(function(){
            if (this.setSelectionRange)
            {
            var len = $(this).val().length;
            this.setSelectionRange(len, len);
            }
            else
            {
            $(this).val($(this).val());
            }

    });

    $("#search").focus();
    });

Demo with input

Demo with textarea

因为所有浏览器都不支持setSelectionRange。因此,最佳解决方案是将setSelectionRange$(this).val($(this).val());结合使用。有关详细信息,请查看:Use JavaScript to place cursor at end of text in text input element