У меня есть два текстовых ввода и кнопка.
Для обоих текстовых вводов я установил событие keydown
с помощью JQuery для переключения фокуса на следующий элемент при нажатии Enter.
Итак:
- Нажатие клавиши Enter во время первого ввода должно фокусироваться на втором входе.
- Нажатие клавиши Enter во время второго ввода должно фокусироваться на кнопке.
Демонстрационный код здесь: https://jsfiddle.net/5v8ze2m4/
Чтобы увидеть, что происходит:
- Нажмите на первое поле ввода, чтобы установить фокус там.
- Нажмите Enter.Фокус переместится во второе поле ввода (правильно).
- Нажмите Enter еще раз.Фокус переместится на кнопку (правильно) , однако событие нажатия кнопки также срабатывает (НЕ правильно)
Обратите внимание, что это только происходит, когда я используюклавиша ввода.Если я изменю условие keyCode
на 40 вместо 13 (для клавиши курсора вниз ↓ вместо Enter) в обоих обработчиках событий, это будет работать должным образом.
Кроме того, еще одна небольшая проблема: Я автоматически фокусируюсь на первом элементе ввода, который, кажется, не работает.Но это может быть связано с JSFiddle.