У меня есть код jQuery, который генерирует интервал лайтбокса при изменении раскрывающегося меню. Моя цель состояла в том, чтобы показать изображение при изменении раскрывающегося меню и иметь возможность щелкнуть изображение, чтобы на экране отобразился лайтбокс.
Проблема, с которой я сталкиваюсь, заключается в том, что когдаЯ изменяю выпадающее меню, изображение показывает, но лайтбокс требует двойного щелчка, чтобы открыть.
Я подумал, что это потому, что раскрывающееся меню имеет фокус, а изображение лайтбокса должно быть сфокусировано в первую очередь, прежде чем его можно будет щелкнуть.
Одним из решений для меня является автоматическая передача фокуса налайтбокс, так что при изменении выпадающего списка изображение лайтбокса уже имеет фокус и требует только одного щелчка. Однако мне бы хотелось, чтобы я не терял фокус автоматически из раскрывающегося списка, поскольку могут быть пользователи, которые захотят перемещаться по раскрывающемуся списку с помощью стрелок вверх / вниз на клавиатуре.
Одна вещь, которую я заметил, заключается в том, чтоесли у меня есть статический span в HTML, эта проблема не возникает. Я предполагаю, что это не что-то с фокусом, а скорее промежуток, создаваемый на лету. Я не нашел решения, чтобы преодолеть это, но у меня заканчиваются идеи. У кого-нибудь есть какие-либо предложения относительно того, что мне следует искать, или руководств, на которые я могу обратить внимание для дальнейшей корректировки кода?
Вот упрощенный пример Codepen: https://codepen.io/speedygonzales77/pen/jOOZJLJ
if ( (preferred_facility == 'Classroom (laboratory)') && (label == 'BRYAN CAMPUS') ) {
$('.img_link').html('<a data-lightbox="blinn-gallery" data-title="" href="https://www.blinn.edu/_facilities-listing-demo/images/facilities/bryan/800/classroom-laboratory.jpg"><img alt="Classroom (laboratory)" class="img-thumbnail" height="200" src="https://www.blinn.edu/_facilities-listing-demo/images/facilities/bryan/800/classroom-laboratory.jpg" width="300"></a>');
}