У меня проблемы с нажатой клавишей 3+ - PullRequest
2 голосов
/ 18 января 2012

Моя мини-игра JS работает неправильно.Он записывает только первые две нажатые клавиши.

Вы можете увидеть проблему в этом jsFiddle

Мой код действительно большой, я не уверен, что здесь поставитьно я думаю, что проблема здесь:

document.onkeypress=function(e){
    var charCode;

    e=e||window.event;

    charCode=typeof e.which=="number"?e.which:e.keyCode;

    if((charCode>=102&&charCode<=104)||charCode==106){
        getKey(charCode==106?4:charCode-101);//F-G-H-J=1-2-3-4
    }
    return false;
};

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Большинство клавиатур имеют ограничения на количество одновременных клавиш. Такие ключи, как shift и ctrl, часто можно обрабатывать поверх любого одновременного ограничения.

1 голос
/ 18 января 2012

Попробуйте использовать onkeydown для отслеживания нажатия клавиши и onkeyup при отпускании клавиши.Вы можете отслеживать, какие из них в настоящий момент нажаты в массиве или что-то еще.Ваша игра работала хорошо для меня с четырьмя нажатиями клавиш.Ваш комментатор был на что-то;Я думаю, что ваша клавиатура просто не может с этим справиться.

...