Рубрики
Без рубрики

Список клавиш JavaScript – коды ключа событий клавиш для ввода, пространства, заднего пространства и многого другого

События клавиатуры JavaScript помогают вам захватывать взаимодействия пользователя с клавиатурой. Как и многие другие события JavaScript, интерфейс KeyboardEvent предоставляет все необходимые свойства и методы для обработки каждого пользователя KeyStroke, используя с помощью клавиатуры. Там было много статей написано о том, как они работают и как использовать

Автор оригинала: FreeCodeCamp Community Member.

События клавиатуры JavaScript помогают вам захватывать взаимодействия пользователя с клавиатурой.

Как и многие другие события JavaScript, KeyboardEvent Интерфейс предоставляет все необходимые свойства и методы для обработки каждого пользователя KeyStroke, используя клавиатуру.

Там было много статей написано о том, как они работают и как их использовать. В то же время W3.org продолжает обновлять спецификацию путем внесения новых свойств, обесценения существующих и отмечая определенный код как наследие.

Из-за этого, для веб-разработчиков важно продолжать изучать KeyboardEvent Интерфейс, чтобы узнать, что именно они должны использовать, и то, что больше не актуально.

В этой статье мы узнаем о:

  • Интерфейс клавиатурыEvent.
  • Типы событий клавиатуры Нам нужно сосредоточиться на.
  • Типы событий клавиатуры, которые мы можем никогда не понадобиться.
  • Какие свойства вам нужны на практике и насколько разные браузеры обрабатывают их.
  • Что устарело, а что используется.
  • Детская площадка, чтобы попробовать вещи, как мы учимся.
  • Наконец, текущий список ключевых кодов для справки и будущего использования.

Надеюсь, тебе понравится.

Интерфейс KeyboardEvent предоставляет информацию, использующую определенные константы, свойства и один метод (по состоянию на январь 2021). Это расширяет Уизмерие Интерфейс, который в конечном итоге расширяет Событие интерфейс.

В первую очередь три типа событий клавиатуры, КДУЩЬЮ , keypress и, keyup Отказ Мы можем получить контекстную информацию об этих событиях из KeyboardEvent Свойства интерфейса и методы.

Вы можете добавить каждый из этих типов событий в элемент HTML или Документ Объект, используя addeventListener метод. Вот пример прослушивания КДУЩЬЮ Событие на элементе которого ID, «Тип-здесь»:

let elem = document.getElementById('type-here');

elem.addEventListener("keydown", function (event) {
    // The parameter event is of the type KeyboardEvent
  	addRow(event);
});

В качестве альтернативы вы можете использовать методы обработчика, такие как, OnkeyDown (событие) , Onkeyup (событие) , OnkeyPress (событие) С элементом для обработки событий клавиатуры. Вот пример обращения с keyup Мероприятие на входном элементе:

Если вы распечатаете событие Объект в консоли браузера, вы увидите все его свойства и методы вместе с теми, которые он наследует от Уизмерие и Событие интерфейсы.

Прежде чем идти дальше, как насчет детской площадки, чтобы исследовать все события клавиатуры, их свойства, характеристики и так далее? Я думаю, что это будет круто, чтобы использовать его рядом с этой статьей и за его пределами.

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

Вы также можете отфильтровать события, которые вы хотите, отменив флажки на вершине. Так что дайте это попробовать:

События клавиатуры:

  • КДУЩЬЮ : Он загоняет, когда любая клавиша нажата.
  • keypress : Он пожаровал только тогда, когда ключ, который производит Значение символов нажимается вниз. Например, если вы нажмете ключ А это событие будет огонь, как ключ А производит значение символов 97 Отказ С другой стороны, это событие не будет огонь, когда вы нажмете Сдвиг Ключ, как он не вызывает значение символов.
  • keyup : Он загоняет, когда любой ключ отпускается.

Если все три события прикреплены к элементу DOM, порядок стрельбы будет:

  1. Во-первых, классна
  2. Далее, клавиш (с указанным вышестоящим)
  3. Последнее, keyup.

Среди этих событий наиболее используемое событие клавиатуры (или, должно быть) КДУЩЬЮ так как:

  • КДУЩЬЮ Событие имеет максимальный охват ключей для получения контекстной информации. keypress Событие работает только для подмножества ключей. Вы не можете захватить Alt, Ctrl, Shift, Meta и другие похожие ключевые события с помощью клавиш. Это также означает, что мы не можем выстрелить событие KeyPress с клавишными комбинациями, такими как Ctrl Z , Shift Tab , и так далее.
  • Более того, keypress событие был устарел. Это большая достаточная причина, чтобы избежать этого.
  • Пока оба КДУЩЬЮ и keyup События охватывают все ключи и хорошо поддерживаются большинством браузеров, есть несколько различий, которые нажимают КДУЩЬЮ впереди keyup Отказ Событие клавиш перед браузером обрабатывает ключ, тогда как событие Keyup Fires после того, как браузер обрабатывает ключ. Если вы отмените событие KeyDown (скажем, используя Event.preventDefault () ), действие браузера тоже будет отменено. В случае события Keyup действие браузера не будет отменено, даже если вы отменили событие.

В приведенном ниже примере мы используем Event.PreventDefault () Когда КДУЩЬЮ или keyup события пожаров. Действие Bowser для записи ключевых символов в текстовое поле не будет выполнено в случае КДУЩЬЮ Но это будет продолжать случиться за keyup Отказ

Со всем этим объяснением, КДУЩЬЮ Мероприятие – четкий победитель и должен стать самым популярным (используемым) ключевым типом события.

Это вопрос миллиарда долларов! Самый короткий ответ, это зависит. Но на что? Это зависит от:

  • Поддержка браузера для вашего приложения
  • Насколько наследие ваш код заявки, и сколько вы готовы рефактору?

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

Возвращает логическое значение (True / false). Значение верно, когда нажата alt ключ. altkey. Нет
Возвращает логическое значение (True / false). Значение верно, когда нажата клавиша управления. Ctrlkey. Нет
Возвращает логическое значение (True / false). Значение верно, когда нажата клавиша Shift. ShiftKey Нет
Возвращает логическое значение (True / false). Значение верно, когда нажата любая из мета-ключей. метка Нет
Кодовое значение физического ключа. код Нет
Фактическое значение ключевой нажатой. ключ Нет
Возвращает логическое значение (True / false). True True указывает на состояние этих ключей, capslock, numlock, alt, control, shift, meta и т. Д. метод getmodifierstate () Нет
Возвращает значение Unicode. Это было обесначено, и мы должны вместо этого использовать ключевую недвижимость. шаркод да
Возвращает неочевожную код прессованного значения. Это было обесначено, и мы должны вместо этого использовать ключевую недвижимость. ключевой код да
Возвращает неочевожную код прессованного значения. Это было обесначено, и мы должны вместо этого использовать ключевую недвижимость. который да

Последние три свойства устаревают, и вы должны использовать ключ недвижимость вместо этого. ключ Собственность имеет самая широкая поддержка браузера Отказ

Он поддерживается:

  • Microsoft Edge: версия
  • Firefox: версия
  • Google Chrome: версия
  • Safari: версия.1

Так что до тех пор, пока вы не используете какие-либо из более старых браузеров, Event.key Свойство должно быть достаточно для вас, чтобы определить ключ. Если вы должны поддерживать более старый браузер, будет лучший падж Event.which имущество.

window.addEventListener("keydown", function (event) {
  
  if (event.key !== undefined) {
    // Handle the event with KeyboardEvent.key
  } else if (event.which !== undefined) {
    // Handle the event with KeyboardEvent.which
  }
});

Если ваш код использует какой-либо из устаревших свойств, и у вас есть возможность ревертировать этот код, всегда лучше пойти на него.

Клавиши модификатора

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

Например, если вы нажмете ключ z Предполагается вернуть ключ и код для буквы Z. Если вы сочетаете его с модификатором Контроль и нажмите Контроль Z Вы, скорее всего, получите Отменить операция. Давайте увидимся с несколькими примерами в следующем разделе.

Свойства, Event.Altkey , Event.Ctrlkey , Event.shiftkey И вот по справочнике обнаружить, была ли нажата клавиша модификатора.

Комбинации ключей

Мы можем объединить несколько клавиш и выполнять действия, основанные на комбинациях ключей. Ниже приведен фрагмент кода, показывает, как комбинировать Контроль и z Ключ для определения действия:

document
  .getElementById("to_focus")
  .addEventListener("keydown", function(event) {
    if (event.ctrlKey && event.key === "z") {
      // Do Something, may be an 'Undo' operation
    }
});

Вот еще один пример, который демонстрирует еще несколько ключевых комбинаций. Пожалуйста, попробуйте:

В приведенной ниже таблице показан список клавиш с Event.which , Event.key и event.code значения.

Backspace Backspace Backspace 8
вкладка Вкладка Вкладка 9
входить Входить Входить 13
Event.shiftkey true Сдвиг (слева) Сдвиг ShiftLeft. 16
Event.shiftkey true Сдвиг (справа) Сдвиг Шифр 16
Event.Ctrlkey верно Ctrl (слева) Контроль Контрольфт 17
Event.Ctrlkey верно Ctrl (справа) Контроль Controlright. 17
Event.Altkey – это правда Alt (слева) Alt. Altleft. 18
Event.Altkey – это правда alt (справа) Alt. Altright. 18
Пауза / перерыв Пауза Пауза 19
Замок кепок Capslock. Capslock. 20
побег Побег Побег 27
Значение Event.key – это одно пространство. космос Космос 32
Страница вверх Страница Страница 33
листать вниз Листать вниз Листать вниз 34
конец Конец Конец 35
дом Дом Дом 36
Левая стрелка Arrowleft. Arrowleft. 37
стрелка вверх Arrowup. Arrowup. 38
правая стрелка Arrowright. Arrowright. 39
Кнопка “Стрелка вниз Arrowdown Arrowdown 40
Снимок экрана Снимок экрана Снимок экрана 44
вставлять Вставлять Вставлять 45
Удалить Удалить Удалить 46
0 0 Digit0. 48
1 1 Digit1. 49
2 2 Digit2. 50
3 3 Digit3. 51
4 4 Digit4. 52
5 5 Digit5. 53
6 6 Digit6. 54
7 7 Digit7. 55
8 8 Digit8. 56
9 9 Digit9. 57
a a Ключей 65
b b Ключей 66
c c Keyc. 67
d d Keyd 68
e e Кекс 69
f f Keyf. 70
g g Keyg 71
h h Keyh. 72
i i Ключей 73
j j Keyj 74
k k Keyk. 75
l l Кейл 76
m m Квим 77
n n Keyn 78
o o Кето 79
p p Клей 80
q q Keyq. 81
r r Keyr. 82
s s Ключи 83
t t Ключей 84
u u Ключевой 85
v v Keyv. 86
w w Keyw. 87
x x Keyx. 88
y y Навес 89
z z Keyz. 90
Event. Methakey True ключ левого окна Мета Металефть 91
Event. Methakey True Ключ правого окна Мета Метакрак 92
Выберите клавишу (контекстное меню) Контекстное меню Контекстное меню 93
Numpad 0. 0 Numpad0. 96
Numpad 1. 1 Numpad1. 97
Numpad 2. 2 Numpad2. 98
numpad 3 3 Numpad3. 99
Numpad 4. 4 Numpad4. 100
Numpad 5. 5 Numpad5. 101
Numpad 6. 6 Numpad6. 102
Numpad 7. 7 Numpad7. 103
Numpad 8. 8 Numpad8. 104
Numpad 9. 9 Numpad9. 105
умножать * Numpadmultiply 106
Добавлять + Numpadadd. 107
вычесть Numpadsubtract. 109
десятичная точка . Numpaddecimal. 110
делить / Numpaddivide. 111
F1. F1. F1. 112
F2. F2. F2. 113
F3. F3. F3. 114
F4. F4. F4. 115
F5. F5. F5. 116
F6. F6. F6. 117
F7. F7. F7. 118
F8. F8. F8. 119
F9. F9. F9. 120
F10. F10. F10. 121
F11. F11. F11. 122
F12. F12. F12. 123
Num Lock Ошеломление Ошеломление 144
Замок прокрутки Скрутчик Скрутчик 145
⚠️ Событие. Какое значение 181 в Firefox. Также FF предоставляет кодовое значение как, объемное значение Объем звука отсутствие Audiovolumemute 173
⚠️ Событие. Какое значение 182 в Firefox. Также FF предоставляет кодовое значение как, volumedown Объем звука вниз Audiovolumedown 174
⚠️ Событие. Какое значение составляет 183 в Firefox. Также FF предоставляет кодовое значение как, тома громкость звука вверх Audiovolumeup. 175
⚠️ ️Event. Какое значение равно 0 (без значения) в Firefox. Также FF обеспечивает значение кода, как, MediaSelect медиа плеер Launchmediaplayer. 181
⚠️ ️Event. Какое значение равно 0 (без значения) в Firefox. Также FF предоставляет значение кода, как, loadapp1 Запустите приложение 1 Зазадание1. 182
⚠️ ️Event. Какое значение равно 0 (без значения) в Firefox. Также FF предоставляет значение кода, как, loadapp2 Запустите приложение 2 Зазаднение2. 183
⚠️ событие. Какое значение 59 в Firefox точка с запятой ; Точка с запятой 186
⚠️ событие. Какое значение 61 в Firefox знак равенства = Равный 187
запятая Запятая 188
⚠️ событие. Какое значение 173 в Firefox бросаться Минус 189
период . Период 190
косая черта / Смягчать 191
Беспокой / могильный акцент ` Реквизион 192
открытый кронштейн [ Brackleft. 219
задняя слеш \ Обратная черта 220
Закрыть кронштейн ] Боевик 221
Одиночная цитата Цитировать 222

Пожалуйста, обрати внимание:

  • Event.which был устарел (или устарел)
  • event.code Значение одинаково для небольших букв (а) и заглавных букв (а). Гура Event.key Значение представляет собой фактическое письмо.
  • Event.which Значение отличается в Firefox (FF) и других браузерах для клавиш, равный (=) , запястья (;) и Dash/minus (-)

Итак, как насчет виртуальных клавиатур, таких как использование наших мобильных телефонов или таблеток или любых других устройств ввода?

Спецификация говорит Что, если виртуальная клавиатура имеет аналогичную клавиатуру и функциональность к стандартной клавиатуре, то она должна привести к соответствующему атрибуту кода. В противном случае он не собирается вернуть правильное значение.

Обобщить:

  • Вы можете использовать KeyboardEvent Для захвата взаимодействий пользователей с помощью клавиатуры.
  • В первую очередь три ключевых события, КДУЩЬЮ , keypress и keyup Отказ
  • Мы должны использовать КДУЩЬЮ Тип события как можно больше, поскольку он удовлетворяет большинству случаев использования.
  • keypress Тип события был устарел.
  • Event.which Собственность была устарела. Использовать Event.key где это возможно.
  • Если вы должны поддерживать более старый браузер, используйте соответствующие заправки для обнаружения ключей.
  • Мы можем объединить несколько клавиш и выполнять операции.
  • Виртуальная клавиатура поддерживает эти события до тех пор, пока макет и функции аналогичны стандартной клавиатуре.

Это все сейчас. Спасибо за чтение этого далеко! Давайте подключемся. Вы можете у меня на Twitter (@tapasadhikary) с комментариями или не стесняйтесь следовать.