У меня была похожая проблема.Я нашел кое-что многообещающее здесь , если вам интересно.Решение, которое, похоже, сработало для большинства, состояло в том, чтобы отредактировать код fancybox, заменив .bind на .live.Я не мог заставить это работать для галерей изображений, все же.Другое предложение (комментарий 14) сработало (и не требует никаких действий с fanybox).Попробуйте,
$("a.fancyness").live("mouseover focus", function() {
$("a.fancyness").fancybox( {
'width' : 'auto',
'height' : 'auto',
'titleShow' : true,
'titlePosition' : 'over'
});
});
Если вы посмотрите на комментарий 14 по ссылке, вы заметите, что вторым селектором здесь является просто $(this)
в этом комментарии.Это хорошо для отдельных изображений, но если вы используете галерею изображений, вы хотите, чтобы fancybox запускал на всех изображениях, а не только на том, на который вы навели курсор мыши и затем щелкнули (FYIЯ также включил событие фокуса, чтобы галерея изображений по-прежнему открывалась, если вы нажимаете на клавиатуре миниатюру и нажимаете клавишу ввода.
Если вы замените "mouseover focus"
на "click"
, вы обнаружите, что нажатие только на большой палецзапускает плагин fancyboxЗатем вам нужно нажать второй раз, чтобы фактически запустить вашу галерею - отсюда и события "mouseover focus"
.