我如何测试在JavaScript中发布密钥的时间

时间:2014-08-28 18:59:37

标签: javascript keyboard

当我按下某个键时,我希望变量变为true,并在释放时变为false。我有一个函数,当按下键时将var设置为true,但是我需要在释放键时调用一个函数,将var重置为false。

1 个答案:

答案 0 :(得分:0)

<input onkeydown="doX();" onkeyup="doY();" type="text">

<script type="text/javascript">     
   var flag = false;   
   function doX(){
      flag = true;        
   }

   function doY(){
     flag = false;    
   }
</script>

EXPL:

这里有两个重要的键盘事件可以提供帮助。

  1. keydown(按下某个键时会被触发)
  2. keyup(将在释放密钥时触发)
  3. 在keydown事件上调用doX函数并在keyup事件上调用doY函数!!

    代码#2:        

    <script type="text/javascript">
        var input = document.getElementById("test");
        var flag;       
        input.onkeydown = function(){
            flag = false;
        }
    
        input.onkeyup = function(){
            flag = true;
        }
    </script> 
    

    正如你要求识别'空格键',我在这里添加了代码:

    <script type="text/javascript">
        var input = document.getElementById("test");
        var flag;       
        input.onkeydown = function(e){
            var char = e.keyCode; //32 is for 'SPACE BAR'           
            flag = false;
        };
    
        input.onkeyup = function(e){
            var char = e.keyCode; //32 is for 'SPACE BAR'           
            flag = true;
        };
    </script>