Ответ 1
Установите tabindex = "-1" для этого элемента управления, и браузер пропустит этот элемент управления из табуляции.
Есть ли хороший способ в обработчике javascript onfocus(), чтобы батут фокуса на следующий элемент в порядке табуляции, без необходимости вручную вводить идентификатор элемента, который должен быть следующим?
Я построил сборщик дат в Django/jQuery. Это строка редактирования, а затем значок календаря, который выдает календарь. Я хочу, чтобы можно было перейти от редактирования строки к следующему входу, пропуская ссылку на значок календаря. Я имею в виду, что это обобщенный виджет, поэтому я не могу жестко указать идентификатор того, что будет дальше, и вызвать .focus(). Я знаю, что могу настроить атрибуты tabindex на все, но это более ручное, чем хотелось бы. Кроме того, iirc, что не помешало бы ему сфокусироваться, оно просто поместило бы его в конец порядка вкладок.
Установите tabindex = "-1" для этого элемента управления, и браузер пропустит этот элемент управления из табуляции.
Может быть:
$("#your-calendar-icon").focus(function() {
$(this).trigger("blur");
);
Проверьте эти ресурсы:
или
$("#your-calendar-icon").focus(function() {
$(somethingElse).trigger("focus");
});
Используйте div вокруг значка календаря вместо ссылки. Затем присоедините свои события календаря к div. По умолчанию div не будет табуляцией.
Если это всегда будет вход после календаря, то почему бы и нет:
$('#your-calendar-icon').focus( function() {
$(this).next('input').focus();
} );
Лично я бы сказал, что если это будет плагин, вы должны просто сделать следующий элемент параметром конфигурации, который имеет значение по умолчанию, и указать значение по умолчанию в документах.
Как говорит @thetacom, вы можете просто использовать другой тип элемента, который не получает фокуса. Если вы все еще хотите сохранить некоторые из функций tab, вы можете попробовать SkipOnTab.
SkipOnTab: плагин jQuery, чтобы освободить выбранные поля формы из порядка прямой табуляции.
Просто добавьте data-skip-on-tab="true"
к значку выбора даты (или другим элементам/контейнерам), которые вы хотите пропустить. Вы можете нажать кнопку, чтобы активировать выбор даты или вернуться с помощью shift - tab и использовать клавишу ввода.
Смотрите простую демонстрацию и демо-версия бизнес-примера.