Skip to content

KeyboardEvent ​

class KeyboardEvent extends UIEvent

Annotations: @Native.new("KeyboardEvent")

An event that describes user interaction with the keyboard.

The type of the event identifies what kind of interaction occurred.

See also:

Inheritance

Object → Event → UIEvent → KeyboardEvent

Implementers

Constructors ​

KeyboardEvent() factory ​

factory KeyboardEvent(
  String type, {
  Window? view,
  bool canBubble = true,
  bool cancelable = true,
  int? location,
  int? keyLocation,
  bool ctrlKey = false,
  bool altKey = false,
  bool shiftKey = false,
  bool metaKey = false,
})

Programmatically create a KeyboardEvent.

Due to browser differences, keyCode, charCode, or keyIdentifier values cannot be specified in this base level constructor. This constructor enables the user to programmatically create and dispatch a KeyboardEvent, but it will not contain any particular key content. For programmatically creating keyboard events with specific key value contents, see the custom Event KeyEvent.

Implementation
dart
factory KeyboardEvent(
  String type, {
  Window? view,
  bool canBubble = true,
  bool cancelable = true,
  int? location,
  int? keyLocation, // Legacy alias for location
  bool ctrlKey = false,
  bool altKey = false,
  bool shiftKey = false,
  bool metaKey = false,
}) {
  if (view == null) {
    view = window;
  }
  location ??= keyLocation ?? 1;
  KeyboardEvent e = document._createEvent("KeyboardEvent") as KeyboardEvent;
  e._initKeyboardEvent(
    type,
    canBubble,
    cancelable,
    view,
    "",
    location,
    ctrlKey,
    altKey,
    shiftKey,
    metaKey,
  );
  return e;
}

Properties ​

altKey no setter ​

bool get altKey
Implementation
dart
bool get altKey native;

bubbles no setter inherited ​

bool? get bubbles

Inherited from Event.

Implementation
dart
bool? get bubbles native;

cancelable no setter inherited ​

bool? get cancelable

Inherited from Event.

Implementation
dart
bool? get cancelable native;

charCode no setter ​

int get charCode
Implementation
dart
int get charCode native;

code no setter ​

String? get code
Implementation
dart
String? get code native;

composed no setter inherited ​

bool? get composed

Inherited from Event.

Implementation
dart
bool? get composed native;

ctrlKey no setter ​

bool get ctrlKey
Implementation
dart
bool get ctrlKey native;

currentTarget no setter inherited ​

EventTarget? get currentTarget

Inherited from Event.

Implementation
dart
EventTarget? get currentTarget =>
    _convertNativeToDart_EventTarget(this._get_currentTarget);

defaultPrevented no setter inherited ​

bool get defaultPrevented

Inherited from Event.

Implementation
dart
bool get defaultPrevented native;

detail no setter inherited ​

int? get detail

Inherited from UIEvent.

Implementation
dart
int? get detail native;

eventPhase no setter inherited ​

int get eventPhase

Inherited from Event.

Implementation
dart
int get eventPhase native;

hashCode no setter inherited ​

int get hashCode

Inherited from Interceptor.

Implementation
dart
int get hashCode => Primitives.objectHashCode(this);

isComposing no setter ​

bool? get isComposing
Implementation
dart
bool? get isComposing native;

isTrusted no setter inherited ​

bool? get isTrusted

Inherited from Event.

Implementation
dart
bool? get isTrusted native;

key no setter ​

String? get key
Implementation
dart
String? get key native;

keyCode no setter ​

int get keyCode
Implementation
dart
int get keyCode native;

location no setter ​

int get location
Implementation
dart
int get location native;

matchingTarget no setter inherited ​

Element get matchingTarget

A pointer to the element whose CSS selector matched within which an event was fired. If this Event was not associated with any Event delegation, accessing this value will throw an UnsupportedError.

Inherited from Event.

Implementation
dart
Element get matchingTarget {
  if (_selector == null) {
    throw new UnsupportedError(
      'Cannot call matchingTarget if this Event did'
      ' not arise as a result of event delegation.',
    );
  }
  Element? currentTarget = this.currentTarget as Element?;
  Element? target = this.target as Element?;
  var matchedTarget;
  do {
    if (target!.matches(_selector!)) return target;
    target = target.parent;
  } while (target != null && target != currentTarget!.parent);
  throw new StateError('No selector matched for populating matchedTarget.');
}

metaKey no setter ​

bool get metaKey
Implementation
dart
bool get metaKey native;

path no setter inherited ​

List<EventTarget> get path

Inherited from Event.

Implementation
dart
List<EventTarget> get path =>
    JS<bool>('bool', '!!#.composedPath', this) ? composedPath() : [];

repeat no setter ​

bool? get repeat
Implementation
dart
bool? get repeat native;

runtimeType no setter inherited ​

Type get runtimeType

Inherited from Interceptor.

Implementation
dart
Type get runtimeType =>
    getRuntimeTypeOfInterceptorNotArray(getInterceptor(this), this);

shiftKey no setter ​

bool get shiftKey
Implementation
dart
bool get shiftKey native;

sourceCapabilities no setter inherited ​

InputDeviceCapabilities? get sourceCapabilities

Inherited from UIEvent.

Implementation
dart
InputDeviceCapabilities? get sourceCapabilities native;

target no setter inherited ​

EventTarget? get target

Inherited from Event.

Implementation
dart
EventTarget? get target => _convertNativeToDart_EventTarget(this._get_target);

timeStamp no setter inherited ​

num? get timeStamp

Inherited from Event.

Implementation
dart
num? get timeStamp native;

type no setter inherited ​

String get type

Inherited from Event.

Implementation
dart
String get type native;

view no setter inherited ​

WindowBase? get view

Inherited from UIEvent.

Implementation
dart
WindowBase? get view => _convertNativeToDart_Window(this._get_view);

which no setter ​

int? get which
Implementation
dart
int? get which => _which;

Methods ​

composedPath() inherited ​

List<EventTarget> composedPath()

Inherited from Event.

Implementation
dart
List<EventTarget> composedPath() native;

getModifierState() ​

bool getModifierState(String keyArg)
Implementation
dart
bool getModifierState(String keyArg) native;

noSuchMethod() inherited ​

dynamic noSuchMethod(Invocation invocation)

Invoked when a nonexistent method or property is accessed.

A dynamic member invocation can attempt to call a member which doesn't exist on the receiving object. Example:

dart
dynamic object = 1;
object.add(42); // Statically allowed, run-time error

This invalid code will invoke the noSuchMethod method of the integer 1 with an Invocation representing the .add(42) call and arguments (which then throws).

Classes can override noSuchMethod to provide custom behavior for such invalid dynamic invocations.

A class with a non-default noSuchMethod invocation can also omit implementations for members of its interface. Example:

dart
class MockList<T> implements List<T> {
  noSuchMethod(Invocation invocation) {
    log(invocation);
    super.noSuchMethod(invocation); // Will throw.
  }
}
void main() {
  MockList().add(42);
}

This code has no compile-time warnings or errors even though the MockList class has no concrete implementation of any of the List interface methods. Calls to List methods are forwarded to noSuchMethod, so this code will log an invocation similar to Invocation.method(#add, [42]) and then throw.

If a value is returned from noSuchMethod, it becomes the result of the original invocation. If the value is not of a type that can be returned by the original invocation, a type error occurs at the invocation.

The default behavior is to throw a NoSuchMethodError.

Inherited from Interceptor.

Implementation
dart
dynamic noSuchMethod(Invocation invocation) {
  throw NoSuchMethodError.withInvocation(this, invocation);
}

preventDefault() inherited ​

void preventDefault()

Inherited from Event.

Implementation
dart
void preventDefault() native;

stopImmediatePropagation() inherited ​

void stopImmediatePropagation()

Inherited from Event.

Implementation
dart
void stopImmediatePropagation() native;

stopPropagation() inherited ​

void stopPropagation()

Inherited from Event.

Implementation
dart
void stopPropagation() native;

toString() inherited ​

String toString()

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Inherited from Interceptor.

Implementation
dart
String toString() => Primitives.objectToHumanReadableString(this);

Operators ​

operator ==() inherited ​

bool operator ==(Object other)

The equality operator.

The default behavior for all Objects is to return true if and only if this object and other are the same object.

Override this method to specify a different equality relation on a class. The overriding method must still be an equivalence relation. That is, it must be:

  • Total: It must return a boolean for all arguments. It should never throw.

  • Reflexive: For all objects o, o == o must be true.

  • Symmetric: For all objects o1 and o2, o1 == o2 and o2 == o1 must either both be true, or both be false.

  • Transitive: For all objects o1, o2, and o3, if o1 == o2 and o2 == o3 are true, then o1 == o3 must be true.

The method should also be consistent over time, so whether two objects are equal should only change if at least one of the objects was modified.

If a subclass overrides the equality operator, it should override the hashCode method as well to maintain consistency.

Inherited from Interceptor.

Implementation
dart
bool operator ==(Object other) => identical(this, other);

Constants ​

DOM_KEY_LOCATION_LEFT ​

const int DOM_KEY_LOCATION_LEFT
Implementation
dart
static const int DOM_KEY_LOCATION_LEFT = 0x01;

DOM_KEY_LOCATION_NUMPAD ​

const int DOM_KEY_LOCATION_NUMPAD
Implementation
dart
static const int DOM_KEY_LOCATION_NUMPAD = 0x03;

DOM_KEY_LOCATION_RIGHT ​

const int DOM_KEY_LOCATION_RIGHT
Implementation
dart
static const int DOM_KEY_LOCATION_RIGHT = 0x02;

DOM_KEY_LOCATION_STANDARD ​

const int DOM_KEY_LOCATION_STANDARD
Implementation
dart
static const int DOM_KEY_LOCATION_STANDARD = 0x00;