Класс KeyEvent
Пользовательский класс KeyboardEvent, который пытается устранить несоответствия между браузерами и также предоставляет информацию о keyCode и charCode для всех событий нажатия клавиш (когда такая информация может быть определена).
KeyEvent пытается предоставить более высокий уровень, более отшлифованную информацию о событии нажатия клавиши поверх «сырых» данных KeyboardEvent.
Механизм использования KeyEvents немного отличается от базового KeyboardEvent. Для использования KeyEvents вам необходимо создать поток, а затем добавить KeyEvents в поток, а не использовать EventTarget.dispatchEvent. Вот пример использования:
// Initialize a stream for the KeyEvents:
var stream = KeyEvent.keyPressEvent.forTarget(document.body);
// Start listening to the stream of KeyEvents.
stream.listen((keyEvent) =>
window.console.log('KeyPress event detected ${keyEvent.charCode}'));
...
// Add a new KeyEvent of someone pressing the 'A' key to the stream so
// listeners can know a KeyEvent happened.
stream.add(new KeyEvent('keypress', keyCode: 65, charCode: 97)); Этот класс находится в стадии разработки, и мы хотели бы получить информацию о том, как сделать этот класс совместимым с как можно большим количеством международных клавиатур. Баги приветствуются!
- Реализованные типы
Конструкторы
- KeyEvent(String type, {Window? view, bool canBubble = true, bool cancelable = true, int keyCode = 0, int charCode = 0, int location = 1, bool ctrlKey = false, bool altKey = false, bool shiftKey = false, bool metaKey = false, EventTarget? currentTarget}) factory
- Программно создаёт новый KeyEvent (и KeyboardEvent).
- KeyEvent.wrap(KeyboardEvent parent)
- Создаёт KeyEvent с
parentв качестве эмулируемого события.
Свойства
- altKey → bool только для чтения, переопределено
- Вычисленное значение, указывающее, нажата ли клавиша Alt для данного события.
- bubbles → bool только для чтения, унаследованно
- cancelable → bool только для чтения, унаследованно
- charCode → int только для чтения, переопределено
- Вычисленное значение предполагаемого charCode для данного события.
- code → String только для чтения, переопределено
- composed → bool только для чтения, унаследованно
- ctrlKey → bool только для чтения, переопределено
- Истинно, если клавиша Ctrl нажата во время этого события.
- currentTarget → EventTarget? только для чтения
- В настоящий момент зарегистрированная цель для данного события.
- defaultPrevented → bool только для чтения, унаследованно
- detail → int только для чтения, переопределено
- eventPhase → int только для чтения, унаследованно
- hashCode → int только для чтения, унаследованно
- Код хэширования для этого объекта.
- isComposed → bool только для чтения
- isComposing → bool только для чтения, переопределено
- isTrusted → bool только для чтения, унаследованно
- key → String только для чтения, переопределено
- keyCode → int только для чтения, переопределено
- Вычисленное значение предполагаемого keyCode для данного события.
- location → int только для чтения, переопределено
- Доступ к части клавиатуры, с которой была нажата клавиша (одна из KeyLocation.STANDARD, KeyLocation.RIGHT, KeyLocation.LEFT, KeyLocation.NUMPAD, KeyLocation.MOBILE, KeyLocation.JOYSTICK).
- matchingTarget → Element только для чтения, унаследованно
- Указатель на элемент, CSS селектор которого совпал в пределах которого было вызвано событие. Если это событие не было связано с делегированием событий, доступ к этому значению вызовет UnsupportedError.
- metaKey → bool только для чтения, переопределено
- Истинно, если клавиша Meta (или Mac command) нажата во время данного события.
- path → List<
Node> только для чтения, унаследованно - Путь данного события, с учётом теневого DOM.
- repeat → bool только для чтения, переопределено
- runtimeType → Type только для чтения, унаследованно
- Представление типа объекта в момент выполнения.
- shiftKey → bool только для чтения, переопределено
- Истинно, если клавиша Shift была нажата во время этого события.
- sourceCapabilities → InputDeviceCapabilities? только для чтения, переопределено
- target → EventTarget? только для чтения, унаследованно
- timeStamp → double только для чтения, унаследованно
- type → String только для чтения, унаследованно
- view → WindowBase? только для чтения, переопределено
- which → int только для чтения, переопределено
- Вычисленное значение предполагаемого keyCode для этого события.
- wrapped → Event final, унаследованно
Методы
- composedPath(
) → List< EventTarget> унаследованно - getModifierState(
String keyArgument) → bool переопределено - noSuchMethod(
Invocation invocation) → dynamic унаследованно - Вызывается при обращении к несуществующему методу или свойству.
- preventDefault(
) → void унаследованно - stopImmediatePropagation(
) → void унаследованно - stopPropagation(
) → void унаследованно - toString(
) → String унаследованно - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследованно - Оператор равенства.
Статические свойства
- canUseDispatchEvent → bool только для чтения
- keyDownEvent ↔ EventStreamProvider<
KeyEvent> чтение / запись - Доступ для предоставления потока KeyEvents для желаемой цели.
- keyPressEvent ↔ EventStreamProvider<
KeyEvent> чтение / запись - Доступ для предоставления потока KeyEvents для желаемой цели.
- keyUpEvent ↔ EventStreamProvider<
KeyEvent> чтение / запись - Доступ для предоставления потока KeyEvents для желаемой цели.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-html/KeyEvent-class.html