Почему код клавиатуры JS для ^ возвращает мертвый? - PullRequest
0 голосов
/ 24 декабря 2018

Я делаю простой JS-скрипт, который берет все события клавиатуры и показывает их на экране.Каждый раз, когда я пытаюсь использовать символ ^ (Alt Gr + ^) на клавиатуре, JS возвращает мертвый код.

Почему это происходит и как я могу его решить?

Спасибо

editor.addEventListener('keydown', function (e) {
    var keyNum = event.which || event.keyCode;

    switch(keyNum) {
    case 9:
        buffer += "\t";
        break;
    case 13:
        buffer += "\n";
        break;
    default:
        if (window.event) { // IE
            key = e.key;
        } else if (e.which){ // Netscape/Firefox/Opera
            key = e.which;
        } 
        buffer += key;
        break;
    }

    renderText(buffer);
});

1 Ответ

0 голосов
/ 25 декабря 2018

События клавиатуры which и keyCode устарели и были на протяжении многих лет.Вы должны использовать key, который является современным способом, чтобы точно определить, какое значение клавиши было нажато на всех клавиатурах и языках.

addEventListener('keydown', function (event) {
  console.log(event.key);
});

По ссылке выше

Если KeyboardEvent представляет нажатие мертвой клавиши, значение клавиши должно быть «Dead».

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