2013-03-13 160 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); 
    }); 

}