Подтвердить что ты не робот

Фокусное поле ввода с JQuery без выбора текущего значения текста

$("#myinputfield").focus();

Выполнение этого в поле ввода с уже установленным значением вызывает выбор текущего значения. Как я могу сфокусировать поле, не выбирая текст?

4b9b3361

Ответ 1

Я искал вокруг, и выяснилось, что после его фокусировки вы должны повторно установить значение в нужное поле.

Ответ 2

Как насчет чего-то подобного, когда вы задали значение поля ввода после его фокусировки?

$("#myinputfield").focus().val($("#myinputfield").val());

Ответ 3

Другие ответы предлагают установить значение поля ввода для себя после фокусировки. Если в Firefox курсор появляется в начале ввода, и вы хотите его в конце, тогда требуется небольшая модификация. Сначала вам нужно установить значение как пустое, а затем установить его на предыдущее значение.

var value = $("#myinputfield").val();
$("#myinputfield").focus().val('').val(value);

Ответ 4

Вы пробовали это?

var txt = $("#myinputfield").val();
$("#myinputfield").focus();
$("#myinputfield").val( txt );

Ответ 5

function focusField(id){
    var inputField = document.getElementById(id);
    if (inputField != null && inputField.value.length != 0){
        if (inputField.createTextRange){
            var FieldRange = inputField.createTextRange();
            FieldRange.moveStart('character',inputField.value.length);
            FieldRange.collapse();
            FieldRange.select();
        }else if (inputField.selectionStart || inputField.selectionStart == '0') {
            var elemLen = inputField.value.length;
            inputField.selectionStart = elemLen;
            inputField.selectionEnd = elemLen;
            inputField.focus();
        }
    }else{
        inputField.focus();
    }
}

Ответ 6

$(document).ready(function() {
    var $field = $("#formloginusername"),
        oldVal = $field.val();
    $field.focus().val('').val(oldVal);
});

DEMO: http://jsfiddle.net/X7Y8S/

Я взял код и демонстрацию от ответа ahren в другой теме, я думаю, что это полезно.

Ответ 7

Это решение работает очень хорошо для меня:

$("#myinputfield").focus(function (event) {
  var value = $("#myinputfield").val();
  setTimeout(function() {
    $("#myinputfield").val(value);
  },10);
});