Ответ 1
Поскольку событие табуляции является собственным событием/действием браузера для изменения фокуса. Функция .trigger()
запускает только обработчики событий, назначенные ей. Обратите внимание, что имеется больше информации, приведенной в jQuery сайте:
Функция .trigger() не может использоваться для имитации событий в собственном браузере, таких как щелчок на поле ввода файла или якорный тег. Это связано с тем, что обработчик событий не связан с системой событий jQuery, которая соответствует этим событиям.
Для этого есть плагин для этого, но называемый jquery-simulate. При этом клавиша смены ключа tab
фактически является действием по умолчанию в веб-браузере. Увольнение собственного события браузеров не означает, что оно выполнит это действие по умолчанию, поскольку в документации для KeyboardEvents упоминается:
Обратите внимание, что при ручной смене события не генерируется действие по умолчанию, связанное с этим событием. Например, ручное срабатывание ключевого события не вызывает появления буквы в сфокусированном текстовом вводе. В случае событий пользовательского интерфейса это важно по соображениям безопасности, поскольку оно не позволяет сценариям моделировать действия пользователя, которые взаимодействуют с самим браузером.