Позвольте мне начать с того, что я не буду этого делать, а вместо этого использую свойство tabindex в ваших элементах управления, чтобы получить желаемый порядок вкладок, поскольку адресная строка находится только в самом конце, так как это то, что пользователь ожидает .
Тем не менее, существует jQuery способ заставить то, что вы хотите, вы можете сделать что-то вроде этого:
$('form :input:enabled:visible').blur(function() {
var con = $(this).closest('form').find(':input:enabled:visible');
var i = con.index(this);
setTimeout(function() { con.eq(i == con.length - 1 ? 0 : i + 1).focus(); }, 0);
});
Это меняет несколько вещей:
.next()
ищет только следующий элемент
- Это смотрит на
<form>
и получает следующее совпадение (измените form
на body
для всех входов).
- Вкладка должна переходить к первому элементу при достижении конца
- Используйте
.index()
и i == con.length - 1 ? 0 : i + 1
для этого
- Последнее, событие
focus
посадочного элемента вызовет после этого размытия (по умолчанию)
- Чтобы стрелять сразу после , используйте
setTimeout(func, 0)
, как указано выше