jquery tabindex/focus & hotkeys
Кажется, в некоторых браузерах есть проблемы с tabindex, поэтому я хочу обойти эти проблемы, используя javascript/jquery. В частности, FF3.5 (Mac) вообще не принимает tabindex и не фокусируется на ссылках. У меня есть jquery 1.3.2 и js-hotkeys 0.7.9 на моем сайте.
У меня есть 4 формы на 1 странице, между которыми я могу переключаться, используя ссылку. Теперь, когда страница загружается, я выбираю одну из ссылок, используя ее идентификатор. Затем я хочу иметь возможность вкладки между каждой ссылки для отображения каждой формы.
Разобранный код выглядит так:
HTML
<nav id="postNav">
<ul>
<li class="Nav1"><a href="#">1</a></li>
<li class="Nav2"><a href="#">2</a></li>
<li class="Nav3"><a href="#">3</a></li>
<li class="Nav4"><a href="#">4</a></li>
</ul>
</nav>
<form class="postForm" id="post1">
</form>
<form class="postForm" id="post2">
</form>
<form class="postForm" id="post3">
</form>
<form class="postForm" id="post4">
</form>
Jquery
$(document).ready(function(){
$("#postNav ul li a").click(function(event){
var postOptionSelected = $(this).parent("li").attr("class").substr(3);
$("form#post"+postOptionSelected).show();
$("form.postForm:not(#post"+postOptionSelected+")").hide();
event.preventDefault();
});
});
2 ответа
Это не проблема Firefox. Это системная настройка для Mac OS. В "Системных настройках", "Клавиатура и мышь" и "Сочетания клавиш" есть параметр "Полный доступ к клавиатуре", который позволяет пользователям настраивать, хотят ли они, чтобы Tab активировал изменение фокуса клавиатуры для текстовых полей и списков или только для всех элементов управления. Он установлен в текстовые поля и списки только по умолчанию.
Safari в Mac OS имеет настройки в Safari, "Установки", "Дополнительно", нажмите "Tab", чтобы выделить каждый элемент на веб-странице, чтобы отменить это поведение.
Я думаю, что вы забыли "Форма" после "пост":
$("form#postForm"+postOptionSelected).show();
$("form.postForm:not(#postForm"+postOptionSelected+")").hide();