2015-02-05 28 views
2

我試圖構建一個包含代碼:雙排鍵陷阱CTRL與setTimeout的

  • 當用戶雙擊按壓按住Ctrl鍵,
  • 對象的CSS屬性變化

我的代碼如下:

$(document).keydown(function(){ 
    setTimeout(function(e){ 
     var count_keypress = 0; 
     if (e.keyCode == 17) { 
      count_keypress +1; 
     } 
     if (count_keypress == 2) { 
      $("#iframe_add_update").css(
     "display" , "inline" 
     ); 
     } 
    },1000); 
}); 

回答

3

嘗試:

var tapStarted = false; 
$(document).keydown(function() { 
    if (e.keyCode == 17) { 
     if (!tapStarted) { 
      tapStarted = true; 
      setTimeout(function() { 
       tapStarted = false; 
      }, 1000); 
     } else { 
      /* DO STUFF! */ 
      tapStarted = false; 
     } 
    } 
}); 

這裏的想法是,按下第一次按Ctrl時,記者按下了按鈕,但是啓動了一個計時器,它會在1000ms後忘記第一次按鍵(您可以將值更改爲任何顯然 - 1000ms可能太長) 。

用戶必須在定時器否定第一次按下之前第二次按ctrl。

+0

打我吧:http://jsfiddle.net/nLkyrcpt/ – 2015-02-05 19:39:42

+0

什麼應該是定時器的最佳時間段。 – MihirUj 2015-02-05 19:43:51

+0

我有點困惑,第二次按鍵是如何檢測到的? – MihirUj 2015-02-05 19:46:48