[Javascript] jQuery .load()如何防止双击双击加载


Answers

你可以尝试使用jquery的一个方法:

$("a.button").one("click", function() {
       $('.content').load('page/3/ #info','',function(){
               //do something
       });
});
Question

我正在使用jQuery的load()函数来加载一些页面到容器中。 这里是代码:

$('div.next a').live('click',function() {

    $('.content').load('page/3/ #info','',function(){
        //do something
    });

return false;

});

一切正常,但问题是,当我快速双击div.next链接,从控制台我看到它加载页面两次,因为我做了一个快速的双击。 我甚至可以使它3次点击,它会加载3次,并显示在控制台像这样:

GET http://site/page/3/     200     OK  270ms   
GET http://site/page/3/     200     OK  260ms

我的问题是如何防止这种双击,不要让多次加载目标页面一次,无论点击多少次。

谢谢。




存储您是否正在等待变量中的加载。

(function() {
  var waitingToLoad = false;
  $('div.next a').live('click',function() {

    if (!waitingToLoad) {
      waitingToLoad = true;
      $('.content').load('page/3/ #info','',function(){
          waitingToLoad = false;
          //do something
      });
    }
    return false;
  });

})()



Links