Текстовое поле -> начать печатать сразу, вместо того, чтобы нажимать на поле

#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