如何组合键码在javascript中一起工作

时间:2013-12-05 11:24:00

标签: javascript ajax keycode

E.g。我有以下脚本

<script>
document.onkeydown = function(evt){
        evt = evt || window.event;
        switch (evt.keyCode){
            case 67:
                createNewFile();
                break;
            case 82:
                goToRecords();
                break;
            case 84:
                goToToday();
                break;
            case 36:
                goToMsHome();
                break;
            case 27:
               escToCloseOptions();
                break;
            case 83:
               summary();
                break;  
            case 73:
               insertRecord();
                break;          
        }
    };
</script>

当我按下

  

shift + keycode

调用指定的函数,我只是JavaScript新手,我根据其他语言编写JavaScript代码

谢谢和问候

2 个答案:

答案 0 :(得分:1)

检查.shiftKey,它返回一个布尔值,指示是否按下了该键。将此条件置于您的开关周围将防止发生任何事件,除非与shift一起按下该键。

document.onkeydown = function(evt){
        evt = evt || window.event;
        if(evt.shiftKey){
        switch (evt.keyCode){
            case 67:
                createNewFile();
                break;
            case 82:
                goToRecords();
                break;
            case 84:
                goToToday();
                break;
            case 36:
                goToMsHome();
                break;
            case 27:
               escToCloseOptions();
                break;
            case 83:
               summary();
                break;  
            case 73:
               insertRecord();
                break;          
        }
      }
    };

答案 1 :(得分:0)

您可以分别检测换档键。例如如果你想用shift键调用createNewFile:

if(evt.shiftKey && evt.keyCode == 67) { 
    createNewFile();
}

在您的代码中,您可以执行以下操作:

evt = evt || window.event;
switch (evt.keyCode){
    case 67:
        if (evt.shiftkey) {
            // Do something special for shift mode.
        } else {
            createNewFile();
        }
        break;
...