Как получить сфокусированный элемент формы с помощью JS? - PullRequest
0 голосов
/ 28 ноября 2018

Например,

<form>
    <div class="form-control">
       <input type="text" name="username">
    </div>
    <div class="form-control">
       <input type="text" name="password">
    </div>
</form>

, когда я нажимаю клавишу табуляции, когда вводится курсор, имя которого имя пользователя , Как я могу получить новый выделенный элемент с именем пароль с использованием JS

Когда я получаю элемент с этим кодом;

document.addEventListener('keydown', function(evt) 
{

    if (evt.keyCode === 9) {
       console.log(document.activeElement);
    }

});

это вернуло input-1 с именем username , но я хочучтобы получить пароль вход.Как я могу?

1 Ответ

0 голосов
/ 28 ноября 2018

Ваш прослушиватель событий привязан к keydown, что означает, что он сработает до того, как фактическое нажатие клавиши будет «завершено» (вниз и затем вверх), поэтому фокус не изменился на самом деле при выполнении обработчика события.Измените на keyup, и фокус изменится до вашего обработчика событий.

document.addEventListener('keyup', function(evt) 
{

    if (evt.keyCode === 9) {
       console.log(document.activeElement);
    }

});
<form>
    <div class="form-control">
       <input type="text" name="username">
    </div>
    <div class="form-control">
       <input type="text" name="password">
    </div>
</form>
...