Класс KeyEvent
Пользовательское событие KeyboardEvent, которое призвано устранить межбраузерные несоответствия, а также предоставить информацию о keyCode и charCode для всех событий клавиатуры (если такую информацию можно определить).
KeyEvent предоставляет более высокий уровень и более точную информацию о событиях клавиатуры поверх «сырых» событий KeyboardEvent.
Механизм использования KeyEvent немного отличается от механизма базового KeyboardEvent. Чтобы использовать KeyEvent, необходимо создать поток и добавлять в него события KeyEvent, а не использовать 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}) фабричный
- Программно создаёт новое событие KeyEvent (и KeyboardEvent).
- KeyEvent.wrap(KeyboardEvent parent)
- Создаёт KeyEvent, в котором
parent— событие, поведение которого мы имитируем.
Свойства
- altKey → bool только для чтенияпереопределено
- Вычисленное значение, показывающее, нажата ли клавиша Alt для этого события.
- bubbles → bool только для чтенияунаследовано
- cancelable → bool только для чтенияунаследовано
- charCode → int только для чтенияпереопределено
- Вычисленное значение предполагаемого charCode для этого события.
- code → String только для чтенияпереопределено
- composed → bool только для чтенияунаследовано
- ctrlKey → bool только для чтенияпереопределено
- True, если во время этого события нажата клавиша 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 только для чтенияпереопределено
- True, если во время этого события нажата клавиша Meta (или Command на Mac).
- path → List<
Node> только для чтенияунаследовано - Путь этого события с учётом Shadow DOM.
- repeat → bool только для чтенияпереопределено
- runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
- shiftKey → bool только для чтенияпереопределено
- True, если во время этого события была нажата клавиша Shift.
- sourceCapabilities → InputDeviceCapabilities? только для чтенияпереопределено
- target → EventTarget? только для чтенияунаследовано
- timeStamp → double только для чтенияунаследовано
- type → String только для чтенияунаследовано
- view → WindowBase? только для чтенияпереопределено
- which → int только для чтенияпереопределено
- Вычисленное значение предполагаемого keyCode для этого события.
- wrapped → Event финальноеунаследовано
Методы
- 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> чтение / запись - Свойство, предоставляющее поток событий KeyEvent для заданной цели.
- keyPressEvent ↔ EventStreamProvider<
KeyEvent> чтение / запись - Свойство, предоставляющее поток событий KeyEvent для заданной цели.
- keyUpEvent ↔ EventStreamProvider<
KeyEvent> чтение / запись - Свойство, предоставляющее поток событий KeyEvent для заданной цели.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-html/KeyEvent-class.html