2013-03-13 102 views
0

我与jQuery(AJAX)的问题,我有这样的功能:jQuery的AJAX双呼叫

page: function(p, cont) { 

    cont = typeof cont !== 'undefined' ? cont : this; 

    $.ajax({ 
     url: p, 
     timeout: 10000, 
     complete: function() {...} 
    }).done(function(html) { 
     $(cont).append(html); 
    }); 

} 

当我使用HTML此功能(的onClick),每次当我在按钮的请求重复点击,如何为了防止呢?我只想加载一次内容。

注意:该功能不仅被一个按钮使用了一个。

谢谢!

+0

?你可以尝试使用'$ .one'来绑定它 – forivall 2013-03-13 17:50:46

+0

而不是做HTML(onClick)为什么不使用内置的jQuery函数来识别按钮被点击的时间? – m1ket 2013-03-13 17:50:46

+0

在这种情况下,'cont'将永远不会被定义,除非你明确地将该变量作为未定义传递。 – 2013-03-13 17:51:04

回答

-1

你可以尝试使用在全球范围内的变量为“拦截”,如:你是如何结合自己的点击处理程序

var blocker = false; 

page: function(p, cont) { 
    if(!blocker){ 
     blocker = true; 
    }else{ 
     return; 
    } 
    cont = typeof cont !== 'undefined' ? cont : this; 
    $.ajax({ 
     url: p, 
     timeout:10000, 
     complete: function() { ... } 
     }).done(function(html) { 
      $(cont).append(html); 
    }); 

}