javascript - Ajax 加载后 Tumblr 之类的按钮不起作用

标签 javascript jquery ajax pjax

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

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

最佳答案

我相信您需要使用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

关于javascript - Ajax 加载后 Tumblr 之类的按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30120195/

相关文章:

javascript - 无法让 document.write 与 ajax 一起使用

javascript - 在 jQuery UI 小部件中作为回调触发

javascript - 如何使用 Javascript 删除数组中单词之间的空格?

javascript - 循环显示错误消息以显示在页面上。有些是成功的

php - 多个 On 选择更改 Ajax Laravel

javascript - 是否可以在关闭 JS 的情况下使 AJAX 站点可抓取并优雅地降级?

javascript - 从 Google Maps API 中的 GEvent.addListener 返回值?

javascript - 获取嵌入式pdf的当前页码

javascript 在提示后显示用户输入

使用 select2 进行重复值的 JavaScript 循环