переместить курсор в начало поля ввода? - PullRequest
31 голосов
/ 24 января 2010

когда вы нажимаете «Задать вопрос» здесь, в Stackoverflow, вы видите текст «Какой у вас вопрос программирования?

Я хочу то же самое, и все, что мне для этого нужно, - переместить курсор в начало текстового поля. Как мне сделать это с JQuery?

Ответы [ 4 ]

24 голосов
/ 24 января 2010

Может быть, это излишнее, но эти функции полезны для выбора части поля ввода.

Приведенный ниже код устанавливает курсор на первый символ второго поля.

<html>
<head>
    <title>so</title>
</head>
<body>
    <input value="stack" />
    <input value="overflow" />
    <script>
        var inp = document.getElementsByTagName('INPUT')[1];
        if (inp.createTextRange) {
            var part = inp.createTextRange();
            part.move("character", 0);
            part.select();
        } else if (inp.setSelectionRange) {
            inp.setSelectionRange(0, 0);
        }
        inp.focus();
    </script>
</body>
</html>
12 голосов
/ 24 января 2010

Вы можете использовать метод focus (). Если я вспоминаю jQuery, это так: $ ( "# Question_input_field_id") фокус (). (Если я правильно понял ваш вопрос)

Обновление: Установка курсора в начале:

$("#question_input_field_id").focus();
$("#question_input_field_id").get(0).setSelectionRange(0,0);
6 голосов
/ 24 января 2010

Если вы загляните в исходный код stackoverflow> задать вопрос, вы найдете это:

<table style="width:668px"> 
     <tr> 
         <td style="width:50px"><label for="title">Title</label></td> 
         <td style="padding-left:5px"><input id="title" name="title" type="text" maxlength="300" tabindex="100" style="width:610px" value=""> 
              <span class="edit-field-overlay">What's your programming question? Be descriptive.</span> 
         </td> 
     </tr> 
</table>

Что действительно происходит, так это то, что CSS-код заставил <span class="edit-field-overlay"> переместиться через верхнюю часть поля ввода и показать при необходимости скрытие ... и просто сделать то, что предложил Сеянус.

0 голосов
/ 03 января 2014
 $('#txtYourTextBox').blur(function () { 
    var val = $("#txtYourTextBox").val();
    $("#txtYourTextBox").val('');
    setTimeout(function () { $("#txtYourTextBox").val(val); }, 20);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...