keycode - ctrl键错误

时间:2014-05-26 18:30:40

标签: javascript keycode

我在按 ctrl + 输入时尝试调用函数。但是, ctrl 键似乎不起作用。

    this.element.onkeydown = function(evt){
        var e = evt || window.event;
        var keyCode = (window.event) ? e.which : e.keyCode;
        var keys = {
            'shift' : e.shiftKey,
            'ctrl' : e.ctrlKey,
            'alt' : e.altKey,
            'enter' : 13,
        };
        console.log(keys['ctrl'],keys['enter']) //false,13
    }

我看不出为什么ctrlKey是假的。有人知道发生了什么吗?

1 个答案:

答案 0 :(得分:1)

按下每个键后,

onkeydown将被触发(换句话说,它不是捕获多个键的首选方法)。

要捕获多个键事件,请使用keydownkeypress

此外,您实际上想要捕获10个和13个密钥代码(Chrome中的密钥代码为10)

this.element.keypress(function (e) {                                 
    var keyCode = (e.which ? e.which : e.keyCode);          

    if (keyCode === 10 || keyCode == 13 && e.ctrlKey) {
        console.log('success');
    }
}