Spec-Zone.ru › Web APIs

Элемент: событие keypress

Устаревший: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её поддерживать, она может быть уже удалена из соответствующих веб-стандартов, может быть в процессе удаления или оставаться только для совместимости. Избегайте её использования и обновляйте существующий код, если это возможно; см. таблицу совместимости внизу этой страницы, чтобы принять решение. Помните, что эта функция может перестать работать в любое время.

Событие keypress срабатывает при нажатии клавиши, которая генерирует символ.

Примеры клавиш, генерирующих символ, — это буквы, цифры и знаки препинания. Примеры клавиш, не генерирующих символ, — это модификационные клавиши, такие как Alt, Shift, Ctrl или Meta.

Предупреждение: Поскольку это событие устарело, следует использовать beforeinput или keydown вместо него.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте обработчик события.

addEventListener("keypress", (event) => {});

onkeypress = (event) => {};

Тип события

Объект KeyboardEvent. Наследуется от UIEvent и Event.

Событие UIEvent KeyboardEvent

Свойства события

Этот интерфейс также наследует свойства своих родительских интерфейсов, UIEvent и Event.

KeyboardEvent.altKey Только для чтения

Возвращает логическое значение, равное true , если клавиша Alt (Option или ⌥ на macOS) была активна при возникновении события нажатия клавиши.

KeyboardEvent.code Только для чтения

Возвращает строку с кодовым значением физической клавиши, представленной событием.

KeyboardEvent.ctrlKey Только для чтения

Возвращает логическое значение, равное true , если клавиша Ctrl была активна при возникновении события нажатия клавиши.

KeyboardEvent.isComposing Только для чтения

Возвращает логическое значение, равное true , если событие срабатывает между compositionstart и compositionend.

KeyboardEvent.key Только для чтения

Возвращает строку, представляющую значение клавиши, представленной событием.

KeyboardEvent.location Только для чтения

Возвращает число, представляющее расположение клавиши на клавиатуре или другом устройстве ввода. Список констант, определяющих расположения, показан в разделе Расположения клавиш.

KeyboardEvent.metaKey Только для чтения

Возвращает логическое значение, равное true , если клавиша Meta (на клавиатурах Mac — клавиша ⌘ Command, на клавиатурах Windows — клавиша Windows (⊞)) была активна при возникновении события нажатия клавиши.

KeyboardEvent.repeat Только для чтения

Возвращает логическое значение, равное true , если клавиша удерживается и автоматически повторяется.

KeyboardEvent.shiftKey Только для чтения

Возвращает логическое значение, равное true , если клавиша Shift была активна при возникновении события нажатия клавиши.

Примеры

Пример addEventListener keypress

В этом примере регистрируется значение KeyboardEvent.code каждый раз, когда вы нажимаете клавишу после фокусировки элемента <input>.

<div>
  <label for="sample">Focus the input and type something:</label>
  <input type="text" name="text" id="sample" />
</div>
<p id="log"></p>
const log = document.getElementById("log");
const input = document.querySelector("input");

input.addEventListener("keypress", logKey);

function logKey(e) {
  log.textContent += ` ${e.code}`;
}

Эквивалент onkeypress

input.onkeypress = logKey;

Спецификации

Спецификация
UI Events
# event-type-keypress
HTML
# handler-onkeypress

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
keypress_event
1Chrome не генерирует событие keypress для известных комбинаций клавиш. Какие комбинации клавиш известны, зависит от системы пользователя. Используйте событие keydown для реализации комбинаций клавиш.
12
6Начиная с Firefox 65, событие keypress больше не генерируется для непечатаемых клавиш, за исключением клавиши Enter, а также комбинаций Shift + Enter и Ctrl + Enter (они сохранились для обеспечения кроссбраузерной совместимости).
≤12.1Opera не генерирует событие keypress для известных комбинаций клавиш. Какие комбинации клавиш известны, зависит от системы пользователя. Используйте событие keydown для реализации комбинаций клавиш.
1.3
18Chrome Android не генерирует событие keypress для известных комбинаций клавиш. Какие комбинации клавиш известны, зависит от системы пользователя. Используйте событие keydown для реализации комбинаций клавиш.
6Начиная с Firefox для Android 65, событие keypress больше не генерируется для непечатаемых клавиш, за исключением клавиши Enter, а также комбинаций Shift + Enter и Ctrl + Enter (они сохранились для обеспечения кроссбраузерной совместимости).
≤12.1Opera не генерирует событие keypress для известных комбинаций клавиш. Какие комбинации клавиш известны, зависит от системы пользователя. Используйте событие keydown для реализации комбинаций клавиш.
1
1.0Samsung Internet не генерирует событие keypress для известных комбинаций клавиш. Какие комбинации клавиш известны, зависит от системы пользователя. Используйте событие keydown для реализации комбинаций клавиш.
1Chrome не генерирует событие keypress для известных комбинаций клавиш. Какие комбинации клавиш известны, зависит от системы пользователя. Используйте событие keydown для реализации комбинаций клавиш.

См. также

  • Интерфейс Document, на который также направлено событие.

  • Связанные события:

    • input
    • keydown
    • keyup

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/keypress_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API