Я пытаюсь контролировать свои формы и то, как пользователь взаимодействует с ними через свойство tabindex
элементов формы. Для всех моих элементов указано tabindex
, и я хочу, чтобы это значение уважалось и использовалось правильно.
В настоящее время я занимаюсь разработкой для Mac / Firefox, и мне известны системные настройки Mac по умолчанию, которые устанавливают переключение вкладок только для элементов ввода и списков. Однако я хочу переопределить эту и любые другие настройки, которые могут помешать этому, в любой системе / браузере.
Я использую jQuery, чтобы попытаться обойти это. Вот мой код на данный момент:
$(":input").keypress(function(e){
if (e.which == 0)
{
tindex = parseInt($(this).attr("tabindex")) + 1;
$(":input[tabindex='" + tindex + "']").focus();
}
});
Однако, это не работает так, как я хочу. Когда настройка Mac по умолчанию включена, это фактически пропускает tabindex и вообще пропускает нетекстовые / текстовые элементы. Например, если я на input[tabindex=2]
и нажимаю клавишу «Tab», меня отправляют на input[tabindex=4]
. Если я на input[tabindex=2]
и между input[tabindex=2]
и input[tabindex=4]
есть поле select
, меня отправляют на input[tabindex=5]
.
Я хочу input[tabindex=2]
отправить меня на input[tabindex=3]
, select[tabindex=3]
, input[type=radio][tabindex=3]
и т. Д .; в основном все, что имеет tabindex
из 3.
Дайте мне знать о любых идеях, чтобы обойти эту проблему. Также, пожалуйста, сообщите мне, если вы знаете что-нибудь еще о любых других системах / браузерах, на которые мне следует обратить внимание.