Смущен текущим состоянием Javascript '.keyCode property' - PullRequest
0 голосов
/ 07 октября 2019

Не могу найти реальный солидный ответ на мой вопрос. Является ли свойство Javascript 'KeyboardEvent.keyCode' устаревшим? IDE Jetbrains, «PHP-STORM» и «WEB-STORM» говорят, что это устарело, однако они не предлагают альтернативы. Так как моя среда IDE сказала мне, что она устарела, я прогуглил ее и обнаружил, что W3Schools по URL: (https://www.w3schools.com/jsref/event_key_keycode.asp), не утверждает, что он запрещен. Из чтения их страницы, которая специально предназначена для свойства .keyCode,Я бы подумал, что это хорошо для использования. Итак, опять же, не является ли оно устаревшим? И если оно устарело, то является ли это предупреждением для использования или обходным путем, которое возвращает значение клавиши, которую нажимает пользователь?

event.keyCode;

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Свойство .key, как указано в комментарии выше, сработало для меня, так как оно не ограничено и пригодно для использования во всех браузерах, с которыми я тестирую (chrome 77.0.3865.90 [desktop] и 77.0.3865.92 [Iphone] 6s what ever safariна моем Iphone6s, firefox 68.0.1 и через Android-эмулятор jetbrains [firefox 68.1.1], а также на windows 10 с IE10 и edge]. У keyCode были только некоторые незначительные сбои с хромом, по какой-то причине я получил ошибку типас этим иногда. Честно говоря, я действительно надеялся на хороший ответ по этой теме, но прошло уже несколько дней, и у меня ничего нет. Поскольку на эту тему очень мало, я думал, что выкину то, что сработалодля меня, однако, клавиша не будет работать для всех приложений. Я прочитал, что это не хороший вариант для клавиатур, специфичных для неанглийских языков, поскольку он возвращает имя клавиши в строковом формате, а не код ASCII.

0 голосов
/ 07 октября 2019

Из MDN (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode):

Устаревшее свойство KeyboardEvent.keyCode только для чтения представляет системный и зависящий от реализации числовой код, идентифицирующий неизмененное значение нажатой клавиши. Обычно это десятичный ASCII(RFC 20) или код Windows 1252, соответствующий ключу. Если ключ не может быть идентифицирован, это значение равно 0.

По возможности следует избегать его использования; в течение некоторого времени его использование не рекомендуется. Вы должны использовать KeyboardEvent.code, если он реализован. К сожалению, некоторые браузеры все еще не имеют его, поэтому вам нужно быть осторожным, чтобы убедиться, что вы используете тот, который поддерживается во всех целевых браузерах.

...