2011-11-10 46 views
3

我有一棵左樹。它的結構是這樣的如何使用jquery禁用點擊事件一段時間?

 

    MainCategory 
     Category1 
     Subcategory1 
     Subcategory2 
     Category2 
     Subcategory3 
     Subcategory4 
     Subcategory5 
     Category3 
     . 
     .. etc like that  

如果用戶單擊任何MainCategory /分類/子目錄我需要禁用/防止在同一路段重複/多次點擊,直到結果來的。我如何使用jQuery來做到這一點?

+0

您可以包括jQuery的使用綁定/附加到點擊事件? – ManseUK

+0

之前已經回答 - > http://stackoverflow.com/questions/1263042/how-to-temporarily-disable-a-click-handler-in-jquery – ManseUK

回答

2

,如果你使用jQuery 1.7,你可以使用off()on()功能

例如:

var foo = function() { 
    // code to handle some kind of event 
}; 

// ... now foo will be called when paragraphs are clicked ... 
$("body").on("click", "p", foo); 


// ... foo will no longer be called. 
$("body").off("click", "p", foo); 

,如果您使用的是舊版本你可以unbind()bind()事件

例如:

var foo = function() { 
    // code to handle some kind of event 
}; 

// ... now foo will be called when paragraphs are clicked ... 
$("body p").bind("click", foo); 

// ... foo will no longer be called. 
$("body p").unbind("click"); 
1

可能只是使用一個類來檢查它是否已被點擊。
如果單擊,請不要執行,並在成功和失敗時移除類。

原型 -

$('.selector').click(function(){ 
    if(!$(this).hasClass('someclass')){ 
     $(this).addClass('someclass'); 
     $.ajax({ 
      url: "test.html", 
      success: function(){ 
      $(this).removeClass("someclass"); 
      }, 
      error: function(){ 
      $(this).removeClass("someclass"); 
      } 
     }); 
    } 
}) 
+0

這不起作用:http://jsfiddle.net/ manuel/XcYqJ /事件已被綁定,並且不檢查班級是否存在 –

+0

班級的檢查位於click事件中。所以它不會阻止點擊。但根本不會執行點擊內容。請檢查代碼。 – Jayendra

+0

對不起!我的錯。然而,這不是用於現場比賽嗎?那麼如果班級設置了,你就不必親自檢查。再一次抱歉沒有足夠好的閱讀你的代碼:) –