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");

Другие вопросы по тегам