本文介绍了tumblr喜欢按钮不是阿贾克斯后负荷工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 pjax
和我的tumblr主题砖石
。我只是想出了如何让砖石单击pjax'd链接后工作,但现在的问题是,像按钮不工作了。这是我的code到目前为止:
HTML:
<物品类=项ID ={PostID}>
< /条>
jQuery的:
$(文件).ajaxComplete(函数(){
$('#内容)。imagesLoaded(函数(){
$('#内容)砌体('reloadItems')砌筑()。
});
变量$ newPosts = $(数据).find(条目。');
变量$ newPostIDs = $ newPosts.map(函数(){
返回this.id;
})。得到();
Tumblr.LikeButton.get_status_by_post_ids($ newPostIDs);
});
解决方案
我相信你需要使用 pjax:成功
。这应该给你的数据
对象。
$(文件)。在('pjax:成功',功能(事件,数据,身份,XHR,期权){
$('#内容)。imagesLoaded(函数(){
$('#内容)砌体('reloadItems')砌筑()。
});
变量$ newPosts = $(数据).find(条目。');
变量$ newPostIDs = $ newPosts.map(函数(){
返回this.id;
})。得到();
Tumblr.LikeButton.get_status_by_post_ids($ newPostIDs);
});
来源: https://github.com/defunkt/jquery-pjax#events
I am using pjax
and masonry
in my tumblr theme. I just figured out how to get masonry to work after clicking a pjax'd link, but now the problem is that the like button is not working anymore. Here is my code so far:
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);
});
解决方案
I believe you need to use pjax:success
. This should give you the data
object.
$(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);
});
Source: https://github.com/defunkt/jquery-pjax#events
这篇关于tumblr喜欢按钮不是阿贾克斯后负荷工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!