2015-02-05 81 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