Spec-Zone.ru › Dart 1

dart:html

Класс 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));

Этот класс находится в стадии разработки, и мы будем рады получить информацию о том, как сделать этот класс совместимым с как можно большим количеством международных клавиатур. Отлично принимаются отчеты об ошибках!

Реализует
  • KeyboardEvent
Аннотации
  • @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

Spec-Zone.ru

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