Есть ли некоторый способ знать, где фокус перейдет к тому, когда клавиша клавиши Tab будет нажата, и определенный элемент имеет фокус?
Я думаю на чем-то, чтобы использоваться этот путь:
var nextElement = whereWillFocusJumpTo(currentElement);
Спасибо!
Алгоритм определения порядка табуляции находится здесь: -
http://dev.w3.org/html5/spec/editing.html#sequential-focus-navigation
Следует отметить, что если более одного элемента имеют tabindex, равный 0, порядок табуляции зависит от платформы, поэтому вы можете убедиться, что все фокусируемые элементы на вашей странице имеют ненулевой tabindex.
Возможно, вы можете использовать DOM для перечисления входных данных на странице и чтения свойства tabindex.
Было бы очень сложно сделать это с помощью скрипта, в основном (обычно) типы ввода (включая select, textarea, button) и т.д., а также ссылки (теги a) и теги label, связанные с тегом ввода, могут быть сфокусированы, если не установлено свойство tabindex, следующий тег в вашей разметке, который является одним из вышеуказанных типов/условий, будет следующим сфокусированным.
Используйте атрибут HTML TABINDEX для управления тем, куда переходит вкладка.
<input name="email" tabindex="1"></input>
<input name="phone" tabindex="2"></input>
Думаю, для этого можно использовать библиотеку jquery.Listen.
Что-то вроде этого:
jQuery('table').listen( 'focusin', 'tr', function(){
alert("you've focused on a row!");
});
Пока вы установили tabindex для всех объектов на странице, вы сможете использовать javascript для поиска следующего приращения от текущего объекта.