Jquery .click не работает в сочетании с PrettyPhoto
Скрипт галереи PrettyPhoto.
Я хочу загрузить только первые 3 фотографии из каждой галереи. Если пользователь начинает просматривать эти первые фотографии, скрипт должен загрузить все фотографии этой галереи.
<a href="photo_1.jpg" data-bid="6780" data-rel="PrettyPhoto[g1a][1]"><img src="thumbnail_1.jpg" />
<a href="photo_2.jpg" data-bid="6781" data-rel="PrettyPhoto[g1a][1]"><img src="thumbnail_2.jpg" />
<a class="loadimgs" data-gallery="1" href="photo_3.jpg" data-bid="6782" data-rel="PrettyPhoto[g1a][1]"><img src="thumbnail_3.jpg" />
Как вы можете видеть выше, ссылка на photo_3.jpg содержит class = "loadimgs". Когда пользователь нажимает на 3-й эскиз, PrettyPhoto должен показать полное изображение, а Jquery должен одновременно отправить запрос more-images.php, чтобы загрузить все ссылки / миниатюры этой галереи в контейнер .load_more_images
<div style="display:none" class="load_more_images" id="1"></div>
К сожалению, это не работает. Не работает значит что
$(document).on('click',".loadimgs", function()
полностью игнорируется. Когда я нажимаю на третий эскиз, PrettyPhoto, открывает полноразмерную фотографию, но нет запроса к файлу more-images.php. Консоль браузера не показывает никаких ошибок, ничего.
Возможно ли, что.click не работает в сочетании с PrettyPhoto? Если да, можете ли вы предложить какой-либо другой способ вызова файла more-images.php, когда пользователь нажимает на 3-й эскиз?
$("a[data-rel^='PrettyPhoto[g1a]']").PrettyPhoto({
allow_resize:0,
deeplinking:false
});
$(document).on('click',".loadimgs", function(){
var gallery_id=$(this).attr("data-gallery");
$('.load_more_images').load("/more-images.php?gallery_id="+gallery_id");
alert("It works");
});
1 ответ
Замените способ прикрепления события следующим:
$('.loadimgs').click(function(ev){
var gallery_id=$(this).attr("data-gallery");
$('.load_more_images').load("/more-images.php?gallery_id="+gallery_id);
alert("It works" + gallery_id);
});
У вас также есть кавычка, которая вызывает ошибку в конце этого, перед последними скобками: $('. Load_more_images'). Load("/more-images.php? Gallery_id="+gallery_id");