Замена для устаревшего события `keypress` DOM - PullRequest
0 голосов
/ 18 октября 2018

Согласно статье MDN keypress событие устарело:

enter image description here

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

Может ли кто-нибудь дать понимание?

1 Ответ

0 голосов
/ 18 октября 2018

Поскольку событие устарело, вам следует избегать его использования в новом коде и планировать удаление его из старого кода.В спецификации W3C говорится об устаревших функциях:

Функции, отмеченные как устаревшие, включены в спецификацию в качестве ссылки на более старые реализации или спецификации, но являются НЕОБЯЗАТЕЛЬНЫМИ и не приветствуются.Только функции, которые имеют существующие или выполняемые замены, ДОЛЖНЫ быть исключены из данной спецификации.Реализации, которые еще не включают поддержку функции, МОГУТ реализовывать устаревшие функции по причинам обратной совместимости с существующим контентом, но авторы контента, создающие контент, НЕ ДОЛЖНЫ использовать устаревшие функции, если только нет другого способа решения варианта использования .Другие спецификации, которые ссылаются на эту спецификацию, НЕ ДОЛЖНЫ использовать устаревшие функции, но ДОЛЖНЫ указывать на замены, которым эта функция не рекомендуется.Ожидается, что функции, отмеченные как устаревшие в данной спецификации, будут исключены из будущих спецификаций.

В спецификации keypress event говорится:

Предупреждение Тип события нажатия клавиши определен в данной спецификации для справки и полноты, но в этой спецификации не рекомендуется использовать этот тип события.В контексте редактирования авторы могут подписаться на событие beforeinput .

Вы также можете использовать события keydown и / или keyup,См. В чем разница между событиями keyup, keydown, keypress и input?

Однако, поскольку beforeinput пока не имеет большой поддержки, если ни одно из этих других событий не подходит для вашего варианта использованияпока вам придется продолжать использовать keypress (это исключение "если в спецификации нет другого способа решения варианта использования").

...