Номерная строка клавиатуры против номеров клавиатуры - PullRequest
0 голосов
/ 01 июня 2011

Я использую Javascript, мне нужно получить цифры клавиатуры.По какой-либо причине мой код обрабатывает их по-разному.

function getKey(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : event.keyCode;
    var keyString = String.fromCharCode(keyCode).toLowerCase();
        if (lop.charAt(cpos)==keyString) {
        document.getElementById("pimachine_e").innerHTML=document.getElementById("pimachine_e").innerHTML+keyString;
                cpos++;
        } else {
        lose();
        }
}

Цифровая строка в верхней части клавиатуры работает как ожидалось, но цифровая клавиатура обрабатывается (когда я нажимаю 1), как будто я не нажал1. Что это меняет?Как правильно получить эти нажатия клавиш.

1 Ответ

1 голос
/ 01 июня 2011

http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx

Это показывает список со всеми клавишами на обычной клавиатуре и связанными с ней кодами клавиш. Как видите, при нажатии «numpad 1» в этой строке должно возвращаться «97»:

var keyCode = (document.layers) ? keyStroke.which : event.keyCode;

Может быть, вы можете поставить предупреждение после этой строки, чтобы проверить, правильно ли заполнена переменная 'keyCode'?

Если это не поможет вам на вашем пути, пожалуйста, предоставьте больше кода, потому что я не могу воссоздать вашу ситуацию локально, потому что ваша функция ссылается на другие части кода, которые не предоставлены. Кроме того, я не вижу, как вызывается эта функция и как заполняется переменная keyStroke.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...