每次单击后,JQuery .load()都会加载更多页面

时间:2013-04-04 11:11:28

标签: jquery html ajax

由于JQuery是生活中所有内容的解决方案,因此在点击具有某个类的链接后,我使用它来加载具有.load()功能的页面,请参阅下面的代码:
$('.pageloader').click(function(){ $('.content').load("pages/" + this.name); });

然而,每次点击后,这会加载两倍的页面数量(第一次为1次,之后为2次,4次,8次,16次等)。

我试过关闭所有其他代码,但它没有改变任何东西。 使用console.log我注意到它只执行一次.click()函数,并且正在执行多次.load()

有人知道是什么原因造成这种情况吗?

2 个答案:

答案 0 :(得分:1)

您可能几次点击事件...

.click

之前添加此内容
$('.pageloader').unbind('click').off('click');
$('.pageloader').click(function(){ $('.content').empty().load("pages/" + this.name); });

[编辑]

问题出在加载的页面中。

答案 1 :(得分:1)

尝试一次:

$('.pageloader').click(function () {
    // Cache this here
    var $this = $(this);

    // Removes all child nodes (including text nodes) from content class
    $('.content').empty().load("pages/" + $this.attr('name'));
});