2011-03-30 70 views
2

現在,我已經掌握了它,以便您可以按左箭頭鍵執行事件(事件1)。如果在該事件後按下右箭頭鍵,它將執行另一個事件(事件2)。如何在jQuery中調用一個事件後阻止重複事件?

如何限制它,以便如果按下左箭頭鍵兩次,它不會重複事件1?

現在,我已經有了:

 $(document).keydown(function(f){ 
     if (f.keyCode == 39) { 
      // do event 1 here with the left arrow key 
      } 



     $(this).keydown(function(f){ 
     if (f.keyCode == 39) { 
     // do event 2 with the right arrow key 
     window.location.href = "index.php"; 
     } 

     }); 

我需要設置的變量,設置爲1的事件後假,然後真的已經完成?

回答

1

使用$(this).unbind('keydown')在代碼執行後刪除處理程序。 PS:通常你會使用.one()方法進行一次性事件,但由於事件在你不想解除綁定的情況下也會觸發(一個不同的鍵被按下),所以你需要手動解綁。

+0

這樣做。謝謝! – 2011-03-31 00:12:39

1
var pressedLeft = false; 
$(document).keydown(function(f){ 

    if (! pressedLeft && f.keyCode == 39) { 
    // do event 1 here with the left arrow key 
    pressedLeft = true; 
    } 
}); 
相關問題