jQuery focus (), чтобы установить фокус в конце ввода - PullRequest
0 голосов
/ 09 июля 2020

Я использую jQuery focus, чтобы установить фокус на только что созданный ввод.

Он работает хорошо, но фокус устанавливается в начале ввода, даже если есть предварительно определенный текст . Как его поставить после текста?

$('.button').on('click', function () {
$('.container').html('<input type="text" class="newinput" value="word">');
$('.newinput').focus();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button class="button">create and focus</button>
<br />
<div class="container"></div>

Ответы [ 2 ]

2 голосов
/ 09 июля 2020

Простым трюком было бы установить фокус, а затем установить значение, если ваш сценарий позволяет это.

$('.button').on('click', function() {
  $('.container').html('<input type="text" class="newinput" value="">');
  $('.newinput').focus();
  $('.newinput').val("word");
})

Рабочая скрипка: https://jsfiddle.net/tqomec7d/

Если это не сработает для вас, я думаю, что один из ответов здесь может помочь: Используйте JavaScript, чтобы поместить курсор в конец текста в элементе ввода текста

0 голосов
/ 09 июля 2020

Используйте setSelectionRange (https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)

Сначала вычислите длину значения во входных данных, затем setSelectionRange(length+1, length+1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...