Класс 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));
Этот класс находится в стадии разработки, и мы будем рады получить информацию о том, как сделать этот класс совместимым с как можно большим количеством международных клавиатур. Отлично принимаются отчеты об ошибках!
- Реализует
- Аннотации
- @Experimental()
Статические свойства
- keyDownEvent → EventStreamProvider<KeyEvent> чтение / запись
-
Доступ к потоку KeyEvents на нужном целевом объекте.
- keyPressEvent → EventStreamProvider<KeyEvent> чтение / запись
-
Доступ к потоку KeyEvents на нужном целевом объекте.
- keyUpEvent → EventStreamProvider<KeyEvent> чтение / запись
-
Доступ к потоку KeyEvents на нужном целевом объекте.
Конструкторы
- KeyEvent(String type, { Window view, bool canBubble: true, bool cancelable: true, int keyCode: 0, int charCode: 0, int keyLocation: 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 для этого события.
- charCode → int только для чтения
-
Рассчитанное значение предполагаемого charCode для этого события.
- ctrlKey → bool только для чтения
-
True, если клавиша Ctrl нажата во время этого события.
- currentTarget → EventTarget только для чтения
-
Текущий зарегистрированный целевой объект для этого события.
- detail → int только для чтения
- keyCode → int только для чтения
-
Рассчитанное значение предполагаемого keyCode для этого события.
- keyLocation → int только для чтения
-
Доступ к части клавиатуры, с которой была нажата клавиша (один из KeyLocation.STANDARD, KeyLocation.RIGHT, KeyLocation.LEFT, KeyLocation.NUMPAD, KeyLocation.MOBILE, KeyLocation.JOYSTICK).
- location → int @Experimental(), только для чтения
- metaKey → bool только для чтения
-
True, если нажата клавиша Meta (или клавиша Command на Mac) во время этого события.
- repeat → bool @Experimental(), только для чтения
- shiftKey → bool только для чтения
-
True, если клавиша Shift была нажата во время этого события.
- sourceCapabilities → InputDeviceCapabilities final
- view → Window только для чтения
- which → int только для чтения
-
Рассчитанное значение предполагаемого keyCode для этого события.
- bubbles → bool только для чтения, унаследованное
- cancelable → bool только для чтения, унаследованное
- code → String @DocsEditable(), @DomName('KeyboardEvent.code'), @Experimental(), только для чтения, унаследованное
- defaultPrevented → bool только для чтения, унаследованное
- eventPhase → int только для чтения, унаследованное
- hashCode → int только для чтения, унаследованное
-
Хеш-код этого объекта.
- isTrusted → bool только для чтения, унаследованное
- key → String @DocsEditable(), @DomName('KeyboardEvent.key'), @Experimental(), только для чтения, унаследованное
- matchingTarget → Element только для чтения, унаследованное
-
Указатель на элемент, селектор CSS которого совпал в рамках которого было вызвано событие. Если это событие не было связано с делегированием событий, доступ к этому значению приведет к ошибке
UnsupportedError. - path → List<Node> @Experimental(), только для чтения, унаследованное
-
Путь этого события с учетом тени DOM.
- runtimeType → Type только для чтения, унаследованное
-
Представление типа объекта во время выполнения.
- scoped → bool только для чтения, унаследованное
- target → EventTarget только для чтения, унаследованное
- timeStamp → double только для чтения, унаследованное
- type → String только для чтения, унаследованное
- wrapped → Event final, унаследованное
-
Необходим, так как KeyboardEvent реализует.
Операторы
- operator ==(
other) → bool унаследованное -
Оператор равенства.
Методы
- getModifierState(
String keyArgument) → bool @Experimental() - deepPath(
) → List<EventTarget> унаследованное - noSuchMethod(
Invocation invocation) → dynamic унаследованное -
Вызывается при обращении к несуществующему методу или свойству.
- preventDefault(
) → void унаследованное - stopImmediatePropagation(
) → void унаследованное - stopPropagation(
) → void унаследованное - toString(
) → String унаследованное -
Возвращает строковое представление этого объекта.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/KeyEvent-class.html