在ajax加载后Tumblr像按钮不工作

时间:2015-05-08 09:19:53

标签: javascript jquery ajax pjax

我在tumblr主题中使用pjaxmasonry。我刚刚弄清楚如何在点击pjax链接后让砌体工作,但现在问题是,like按钮不再起作用了。到目前为止,这是我的代码:

HTML:

<article class="entry" id="{PostID}">

</article>

jquery的:

$(document).ajaxComplete(function(){
   $('#content').imagesLoaded(function(){
      $('#content').masonry('reloadItems').masonry();
   });

   var $newPosts   = $(data).find('.entry');
   var $newPostIDs = $newPosts.map(function () {
     return this.id;
   }).get();

   Tumblr.LikeButton.get_status_by_post_ids($newPostIDs);
});

1 个答案:

答案 0 :(得分:1)

我相信您需要使用pjax:success。这应该为您提供data对象。

$(document).on('pjax:success', function( event, data, status, xhr, options ) {

 $('#content').imagesLoaded(function(){
    $('#content').masonry('reloadItems').masonry();
 });

 var $newPosts   = $(data).find('.entry');
 var $newPostIDs = $newPosts.map(function () {
   return this.id;
 }).get();

 Tumblr.LikeButton.get_status_by_post_ids($newPostIDs);

});

来源:https://github.com/defunkt/jquery-pjax#events