通过AJAX加载图库时,Colorbox在原生WordPress图库上不起作用

时间:2017-08-30 作者:thinoquinn

我创建了一个下拉菜单,其中有不同的位置作为选项。单击其中一个链接时,将通过AJAX异步加载相应帖子中的内容。我跟着this tutorial 把它拉下来。

因此,我在每个位置帖子中都设置了一个本地Wordpress图库,并且我正在使用一个用于lightbox效果的Colorbox插件。当我直接去邮局时,灯箱按预期工作。但是,当通过AJAX将库加载到单独的页面上时,会显示照片,但灯箱不起作用。

我想问题可能出在我使用的AJAX调用中。。。

以下是JS:

(function($) {
    $(document).ready(function(){
    $.ajaxSetup({cache:false});
    $("#location").click(function(){
        $("div.dropdown").addClass("open");
    });
    $("a.loc-dd").click(function(){
        $("#location").html($(this).html());
        var post_id = $(this).attr("rel")
        $("#pricing-container").append("<div class=\'loader\'></div>");
        $("#pricing-container").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/wp/pricing/",{id:post_id});
        return false;
    });
});
})(jQuery);

1 个回复
SO网友:thinoquinn

问题是,当colorbox将自身绑定到库链接时,库不存在。我可以通过使用ajaxComplete() 事件,如:

$(document).ajaxComplete(function(){
    $(\'.gallery-icon a\').colorbox();
});
谢谢@Milo为我指明了正确的方向。

结束

相关推荐

Basic Wordpress AJAX Call

我有一个新的WP安装,为了保持简单,我目前在我的functions.php:function getFruits() { return json_encode( [\'fruits\' => [\'apples\', \'pears\']]); } function my_enqueue() { wp_enqueue_script( \'ajax-script\', get_template_directory_uri() . \'