Javascript:函数调用一次,但执行两次

时间:2014-07-09 08:44:46

标签: javascript jquery

我正在尝试处理脚本,这会使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();
    })
});

0 个答案:

没有答案