简体   繁体   中英

Text box -> start typing right away instead of clicking the box

I have a search bar, and when I open the search bar I want to start typing right away and do not want to click on the text box for that to happen.

I tried to use myTextBoxId.click() ( because when you click it, you can start typing ) but it didn't work.

You have to

document.getElementById(" <put your Id here> ").focus();

to set focus on the given element.

You can set the focus once you load the page, or trigger the focus on keydown (this way even if you set the focus out of the input - when you start typing the focus will get there again).

 $(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" /> 

since you've got 17 of the same answer, how about a new one!

HTML5 has an autofocus attribute that does this. no JS required.

<input type='text' autofocus>

See here .

You can use myTextBox.focus() to achieve this. Note that you can call focus() after myTextBox variable is set to point to your actual text box. See: HTMLElement focus

Use .focus() instead of .click()

 var myTextBoxId = document.getElementById("myTextBoxId") myTextBoxId.focus(); 
 <input id="myTextBoxId" /> 

If <input id="myTextBoxId" /> , you can use following scripts

Jquery :

$(function() {
 $("#myTextBoxId").focus();
});

Javascript :

window.onload = function() {
 document.getElementById("myTextBoxId").focus();
};

or

<body onLoad="document.getElementById('myTextBoxId').focus();">

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM