Как установить позицию курсора в конце строки в текстовом поле, используя jQuery? - PullRequest
1 голос
/ 10 сентября 2011

Я использую jQuery 1.6, и у меня есть текстовое поле, для которого я бы хотел, чтобы курсор был расположен в конце строки \ text после того, как поле получило фокус. Есть ли тривиально или легко это сделать?

В настоящее время я использую следующий код:

$jQ('#css_id_value').focus(function(){
    this.select();
});
$jQ('css_id_value').focus();

Ответы [ 3 ]

3 голосов
/ 10 сентября 2011
$('#foo').focus(function() {
    if (this.setSelectionRange) {
        this.setSelectionRange(this.value.length, this.value.length);
    } else if (this.createTextRange) {
        // IE
        var range = this.createTextRange();
        range.collapse(true);
        range.moveStart('character', this.value.length);
        range.moveEnd('character', this.value.length);
        range.select();
    }
});
0 голосов
/ 24 апреля 2014

Используйте код ниже:

var FieldInput = $('#fieldName');
var FldLength= FieldInput.val().length;
FieldInput.focus();
FieldInput[0].setSelectionRange(FldLength, FldLength);

Надеюсь, это поможет вам

0 голосов
/ 10 сентября 2011

http://jsfiddle.net/hn8EY/

$("input").mouseup(function(){
    this.selectionStart = this.value.length;
    this.selectionEnd = this.value.length;
});

, который должен это сделать.

и в качестве альтернативы (потому что я не имею ни малейшего понятия, что вы после этого здесь: P)

$("input").mouseup(function(){
    if($(this).not(".c").length) {
        this.selectionStart = this.value.length;
        this.selectionEnd = this.value.length;
        $(this).addClass("c");
    }
}).blur(function(){
    $(this).removeClass("c");
});
...