Переместить курсор в начало поля ввода?
когда вы нажимаете "Задавать вопрос" здесь, в Stackoverflow, вы видите текст "Какой ваш вопрос программирования? Опишите".
Я хочу то же самое, и все, что мне нужно, это переместить курсор в начало текстового поля. как я могу сделать это с помощью jquery?
Ответы
Ответ 1
Может быть, это перебор, но эти функции полезны для выбора части поля ввода.
Приведенный ниже код помещает курсор в первый char второго поля.
<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>
Ответ 2
Вы можете использовать метод focus(). Если я вспомню jQuery, то вот так: $ ( "# Question_input_field_id" ) фокус().
(Если я правильно понял ваш вопрос)
Обновление:
Установка курсора в начале:
$("#question_input_field_id").focus();
$("#question_input_field_id").get(0).setSelectionRange(0,0);
Ответ 3
если вы посмотрите в исходный код stackoverflow > ask question, вы найдете следующее:
<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 your programming question? Be descriptive.</span>
</td>
</tr>
</table>
что действительно происходит, так это то, что код CSS заставил <span class="edit-field-overlay">
перемещаться в верхней части окна ввода и показать, когда нужно, скрыть... и просто сделать то, что предложил Сеянус.
Ответ 4
$('#txtYourTextBox').blur(function () {
var val = $("#txtYourTextBox").val();
$("#txtYourTextBox").val('');
setTimeout(function () { $("#txtYourTextBox").val(val); }, 20);
});