Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery focus command doesn't work from chrome command line

If I have a text page as described below. The call to $("#target").focus(); in the $() section in the header works just fine. I can also bind that command to events in a more realistic page.

However, if I open the chrome console and type $("#target").focus(); it does not change focus. If I run $("#target").val("something"); it changes the value on the screen, but it does not work with focus.

Obviously this isn't a critical problem, but I am really curious why this happens. Anyone have an idea?

<html>
  <head>
    <script src="jquery-1.9.1.js"></script>
    <script>
      $(function(){
         $("#target").focus();
      });
    </script>
  </head>

 <body>
   <input id="target" type="text">
 </body>
</html>
like image 778
BostonJohn Avatar asked Feb 09 '13 00:02

BostonJohn


People also ask

Does jQuery work in chrome console?

noConflict(); It may take a bit of time for jQuery to load. But, once jQuery is loaded, you can run your custom jQuery functions in chrome console. There may be some conflicts with other jQuery versions that may have been loaded on the page.

How do I use command prompt in Chrome?

Accessing the command line in Chrome OS. The command line in Chrome OS is called the Chrome Shell, CROSH for short. Where you access Terminal in Linux or Mac or CMD in Windows, you don't have to do any of that with Chrome OS. To access it all you need do is press Ctrl + Alt + T on your Chromebook.

How do you focus an element in jQuery?

The focus() is an inbuilt method in jQuery which is used to focus on an element. The element get focused by the mouse click or by the tab-navigating button. Here selector is the selected element. Parameter: It accepts an optional parameter “function” which specifies the function to run when the focus event occurs.


1 Answers

You will realize that when clicking on the Chrome console, it will steal focus from any input or textarea control on the current page, and vice versa. That's because the Chrome console actually is implemented using the same HTML controls as any other HTML page, just with special properties which, for instance, prevent Chrome from inspecting the Chrome console recursively.

When you type a command in the Chrome console, i.e. in the input control that is part of the Chrome console, it will keep the focus. The Chrome engineers might have chosen to implement it differently, but in most cases the user will want to continue typing in the Chrome console after firing a command, so no command will release focus from the console.

like image 153
nikola Avatar answered Oct 11 '22 02:10

nikola