Создайте порядок табуляции замкнутого цикла в элементах управления html

У меня есть несколько полей в форме html, и я хочу перемещаться по ней с помощью атрибута tabindex. Я хочу создать порядок табуляции таким образом, чтобы, когда он встречает последнее поле и выходит из него, он перемещает фокус на первое поле в форме. В настоящее время фокус теряется после выхода из последнего поля.

Я сжал проблему до простого примера HTML ниже. Циклический порядок, в котором должна перемещаться вкладка, - текстовое поле1 -> текстовое поле2 -> радиокнопка -> текстовое поле4 -> текстовое поле1 и так далее.

<input type = "text" id = "txt1" tabindex=1/>
<input type = "text" id = "txt2" tabindex=2/>
<input type = "radio" id = "radio1" tabindex=3/>
<input type = "text" id = "txt3" tabindex=4/>

Использование tabindex со значением больше 0 - это настоятельно не рекомендуется. dequeuniversity.com/rules/axe/3.2/tabindex

David T 06.02.2020 10:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
225
2

Ответы 2

вам нужно выйти из поведения браузера по умолчанию и использовать что-то вроде JQuery для обработки фокусировки полей, что-то простое, как показано ниже, должно работать, просто помните о любых потенциальных проблемах с доступностью, которые вы можете вызвать.

$( "#txt3" ).blur(function() {
  $( "#txt1" ).focus();
});

он не устанавливает фокус на первое текстовое поле.

subhrendu 18.12.2018 15:51

По какой-то причине это сработало для меня, только если я установил фокус в конце стека вызовов.

$('#lastInLoop').blur(function() {
  setTimeout(() => { $('#firstInLoop').focus() }, 0);
});

Я считаю, что этот хакер - ужасная идея. Но это решило мою проблему, и я не работаю в НАСА, так что ...

Другие вопросы по теме