我正在尝试处理脚本,这会使ajax请求从服务器中提取更多的Feed。有点像分页。
这里的问题是SiteHelper.loadMoreFeeds()
函数在" More"单击链接。但是函数的代码执行了两次。无法弄清楚为什么会这样。
没有循环也没有递归调用。
我已经尝试过警告"在某些方面,验证函数只被调用一次;这是真的,但它的代码执行了两次。
提前致谢
//SiteHelper = {....} has lots of code already
SiteHelper.loadMoreFeeds = function (loaderUri, limit) {
$(".feeds-loadmore .more").hide();
$('.feeds-loadmore').find('.loading-anim').fadeIn();
alert('loadMoreFeeds called');
$.ajax({
type: "GET",
url: SiteHelper.baseUrl(loaderUri),
data: { 'limit': limit },
cache: false,
success: function(result) {
$('.feeds-loadmore').remove();
$("#content").append('<!-- [data] : ' + JSON.stringify(limit) + ' -->');
$("#content").append(result);
$("#content").append('<!-- //[data] -->');
alert('ajax success');
}
});
};
$(function() {
$('#content').on('click', '.feeds-loadmore a.more', function(e) {
var loaderUri = decodeURIComponent( $(this).attr('data-loader') );
var limitData = $(this).attr('data-limit');
if(!loaderUri)
return;
alert('clicked');
SiteHelper.loadMoreFeeds( loaderUri, JSON.parse(limitData) );
e.preventDefault();
})
});