#javascript #jquery #textbox
#javascript #jquery #текстовое поле
Вопрос:
У меня есть строка поиска, и когда я открываю строку поиска, я хочу сразу начать печатать и не хочу нажимать на текстовое поле, чтобы это произошло.
Я пытался использовать myTextBoxId.click()
(потому что, когда вы нажимаете на него, вы можете начать печатать), но это не сработало.
Комментарии:
1. Используйте
myTextBoxId.focus()
вместо этого.
Ответ №1:
Вы должны
document.getElementById(" <put your Id here> ").focus();
чтобы установить фокус на данном элементе.
Ответ №2:
Вы можете установить фокус после загрузки страницы или вызвать фокус при нажатии клавиши (таким образом, даже если вы установите фокус вне ввода — когда вы начнете печатать, фокус снова попадет туда).
$(function() {
$('#searchbox').focus();
$(document).on('keydown', function() {
$('#searchbox').focus();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="searchbox" />
Ответ №3:
поскольку у вас есть 17 одинаковых ответов, как насчет нового!
HTML5 имеет атрибут автофокусировки, который делает это. не требуется JS.
<input type='text' autofocus>
Смотрите здесь.
Комментарии:
1. Хороший 🙂 получил 1 от меня за это.
2. Примечание: это не будет работать в iframe. он не может украсть фокус из родительского окна. (подтолкните того, кто пытался отредактировать вопрос, чтобы поместить его в маленький редактор кода)
3. возвращаюсь к вам @Dekel
4. Это может установить фокус даже раньше, чем предполагалось. И, если вы не вставите его снова в DOM, он не будет фокусироваться на открытии панели поиска, если раньше вы фокусировались на чем-то другом. Поэтому я предпочел бы использовать решение JS.
Ответ №4:
Используйте .focus()
вместо .click()
var myTextBoxId = document.getElementById("myTextBoxId")
myTextBoxId.focus();
<input id="myTextBoxId" />
Ответ №5:
Если <input id="myTextBoxId" />
вы можете использовать следующие сценарии
Jquery:
$(function() {
$("#myTextBoxId").focus();
});
Javascript:
window.onload = function() {
document.getElementById("myTextBoxId").focus();
};
или
<body onLoad="document.getElementById('myTextBoxId').focus();">
Ответ №6:
Вы можете использовать myTextBox.focus()
для достижения этой цели. Обратите внимание, что вы можете вызвать focus()
после myTextBox
того, как переменная будет установлена так, чтобы указывать на ваше фактическое текстовое поле. См.: HTMLElement focus