将Shadowbox.js应用于动态生成的内容

Bho*_*oot 5 javascript jquery

我使用shadowbox.js进行图库展示.

为此我们必须生成像这样的html

<a href="images/Ganesha3602.jpg" rel="shadowbox[my]"><img src="images/thumb.jpg"   alt="First" title="First image" /></a>
<a href="images/original.jpg" rel="shadow[my]"><img src="images/thumb.jpg" alt="Second" title="Second image" /></a>
<a href="images/original.jpg" rel="shadowbox[my]"><img src="images/thumb.jpg" alt="First" title="First image" /></a>
Run Code Online (Sandbox Code Playgroud)

然后申请Shadowbox.init()身体负荷.当上面的html是静态的时,它的工作就像一个魅力.但是当我动态生成它$.ajax并调用Shadowbox.init()成功时; shadowbox不起作用.我也试过呼吁 Shadowbox.init()完成.

我的代码是这样的:

$(document).on('click','#load_posts_comments',function(){

    $.ajax({
        url:"post_comment_json.php",
        type: "POST",
        dataType: "json",
        data:{user_id:"123"},
        success: function(data){
            load_posts_comments(data);
        },
        complete: function(){
            Shadowbox.init();
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我哪里错了?我查看了shadowbox网站,但没有关于动态加载内容的文档.帮助将不胜感激.

Nik*_*las 6

您需要使用Shadowbox.clearCache();和重新初始化它Shadowbox.setup();.
这里解释得更好:shadowbox在jquery函数调用后停止工作