【翻译】js如何检测到用户同时按下多个键

/ 0评 / 1

需求:
如果需要检测用户同时按下多个键,需要如何检测?
解决方案:
可以通过如下代码实现

var getKeys = function () {
    var keys = [];

    window.addEventListener("blur", blur, false);
    window.addEventListener("keyup", keyup, false);
    window.addEventListener("keydown", keydown, false);

    return function () {
        return keys.slice(0);
    };

    function blur() {
        keys.length = 0;
    }

    function keyup(event) {
        var index = keys.indexOf(event.keyCode);
        if (index >= 0) keys.splice(index, 1);
    }

    function keydown(event) {
        var keyCode = event.keyCode;
        if (keys.indexOf(keyCode) < 0)
        keys.push(keyCode);
    }
}();

来自:http://stackoverflow.com/questions/11438668/keys-pressed-at-the-same-time

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注