Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery can't change focus on keydown

I'm trying to change the focus whenever a user presses tab on the last field. I want to set the focus on to another input field.

I have the following javascript code:

$("#input2").keydown(
  function() 
  {
    if(event.which == 9)
    {
      $("#input1").focus();
    }
  }
);

And this is my trial html code:

<div id="inputArea1">
  <input id="input1" />
  <input id="input2" />
</div>

It seems to work with keyup (the changing the focus part) but then again I don't get what I want with keyup..

What am I missing?

like image 317
Mark Avatar asked Jan 22 '23 05:01

Mark


1 Answers

You need to stop the event, by returning false. If you do not, the basic browser event is fired after you switched to input1, which means the focus is back at input2.

For example:

$("#input2").keydown(function(e){
  if(e.which == 9){
    $("#input1").focus();
    return false;
  }
});
like image 184
Harmen Avatar answered Feb 01 '23 00:02

Harmen