鍍金池/ 問答/HTML/ JS每次鍵盤事件執(zhí)行之后,會(huì)執(zhí)行不同的命令。

JS每次鍵盤事件執(zhí)行之后,會(huì)執(zhí)行不同的命令。

首先,我做的是一個(gè)排行榜的功能。我用$(document).keydown(function(e)){執(zhí)行命令}去進(jìn)行事件的觸發(fā)。要每次執(zhí)行不同的功能。比如我按了鍵盤的回車鍵 第一次按了之后 背景色變?yōu)楹谏?第二次按了回車鍵之后背景色變?yōu)樗{(lán)色 以此類推 每次按 執(zhí)行的命令都不同。

回答
編輯回答
骨殘心

用個(gè)對(duì)象記錄下按了哪些鍵以及分別按了多少次:

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])
})

2018年2月6日 06:39
編輯回答
哎呦喂

那應(yīng)該用一個(gè)全局變量把當(dāng)前回車的狀態(tài)儲(chǔ)存下來,以供觸發(fā)時(shí)判斷,就像 當(dāng)前回答中 @Besttime 那樣。
不用全局變量也行啊,把狀態(tài)儲(chǔ)存在背景色里,每次觸發(fā)時(shí)判斷背景色,變換為另一個(gè)顏色。

2018年6月26日 01:31
編輯回答
憶當(dāng)年
<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 +'次,執(zhí)行第'+ enterFlag +'個(gè)功能');   
        }  
    };    
</script>
2018年2月28日 06:48