0

記事にコメント欄を作ったところ、コメントを投稿したメンバー名にリンクが張られ、そのリンクをクリックするとフェイスボックスを使ってメンバーのプロフィールが表示されるのですが、別のメンバーのコメントが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>

フェイスボックスの設定:

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

では、AJAX でさらに多くのメンバー コメントを読み込んだ後、facebox が適切に動作するようにするにはどうすればよいでしょうか。Tq

4

1 に答える 1

0

これにはいくつかの方法があります。

ajax のロード後にフェイスボックスのリンクを設定できます。

// 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') });
});

ドキュメントのプログラムによる Facebox の制御を参照してください。

于 2012-11-29T05:33:09.157 に答える