JS每次键盘事件执行之后,会执行不同的命令。

首先,我做的是一个排行榜的功能。我用$(document).keydown(function(e)){执行命令}去进行事件的触发。要每次执行不同的功能。比如我按了键盘的回车键 第一次按了之后 背景色变为黑色 第二次按了回车键之后背景色变为蓝色 以此类推 每次按 执行的命令都不同。

阅读 2.5k
3 个回答
<script>
    var enterFlag = 0;
    document.onkeydown=function(event){   
        var e = event || window.event || arguments.callee.caller.arguments[0];
        // 回车,不是小键盘的回车
        if(e && e.keyCode==13){ 
            enterFlag++;
            alert('按第'+ enterFlag +'次,执行第'+ enterFlag +'个功能');   
        }  
    };    
</script>

用个对象记录下按了哪些键以及分别按了多少次:

var keydown = {}
$(document).keydown(function(e){
    if(!keydown[e.which]){
        keydown[e.which] = 1
    } else {
        keydown[e.which] += 1
    }
    console.log(e.which, keydown[e.which])
})

那应该用一个全局变量把当前回车的状态储存下来,以供触发时判断,就像 当前回答中 @Besttime 那样。
不用全局变量也行啊,把状态储存在背景色里,每次触发时判断背景色,变换为另一个颜色。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题