使用AJAX加载另一个数据后,Facebox不起作用

时间:2012-11-29 04:47:36

标签: jquery comments facebox

我在文章中创建了一个评论区域,然后,发布评论的成员名称将有一个链接,并且可以单击链接以使用facebox显示成员个人资料, 问题是当另一个成员注释加载了AJAX时,链接无法正常使用Facebox显示成员个人资料。

会员姓名及链接:

<a href="/view/profile/<?php print $data['mId']; ?>/" title="View <?php print stripquote($data['mName']); ?>'s Profile" rel="facebox" class="membername"><?php print $data['mName']; ?></a>

加载更多评论按钮:

<a href="#" id="<?php echo $msg_id; ?>" class="more">Load more comment</a>

facebox config:

jQuery(function($){
    $('a[rel*=facebox]').facebox();
});

那么,在使用AJAX加载更多成员注释后,如何使facebox正常工作。 TQ

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。

您可以在ajax加载后设置facebox链接,例如

// I don't know how you're doing the ajax load, but say you were using jQuery #load
$(".more").click(function() {
  $("#yourdiv").load("something.php", function() {
     $(this).find("a[rel*=facebox]").facebox();
  });  
});

或者,当点击链接时,你可以得到一个更加迷人并且懒洋洋地加载脸盒,例如:

$(document).on("click", "a.facebox", function() {
  // I've never used facebox, but according to the docs (link below), this should work.
  $.facebox({ ajax: $(this).attr('href') });
});

请参阅文档中的Controlling Facebox Programatically