Dart API Referencedart:htmlKeyboardEvent

KeyboardEvent class

Deprecated

KeyboardEvent objects describe a user interaction with the keyboard. Each event describes a key; the event type (keydown, keypress, or keyup) identifies what kind of activity was performed.

Note: The KeyboardEvent interface is deprecated in DOM Level 3 in favor of the new TextInput interface and the corresponding textinput event, which have improved support for alternate input methods.  However, DOM Level 3 textinput events are not yet implemented in Gecko (as of version 6.0), so code written for Gecko browsers should continue to use KeyboardEvent for now.
@DomName('KeyboardEvent')
class KeyboardEvent extends UIEvent native "KeyboardEvent" {

 factory KeyboardEvent(String type,
     {Window view, bool canBubble: true, bool cancelable: true,
     String keyIdentifier: "", int keyLocation: 1, bool ctrlKey: false,
     bool altKey: false, bool shiftKey: false, bool metaKey: false,
     bool altGraphKey: false}) {
   if (view == null) {
     view = window;
   }
   final e = document.$dom_createEvent("KeyboardEvent");
   e.$dom_initKeyboardEvent(type, canBubble, cancelable, view, keyIdentifier,
       keyLocation, ctrlKey, altKey, shiftKey, metaKey, altGraphKey);
   return e;
 }

 @DomName('KeyboardEvent.initKeyboardEvent')
 void $dom_initKeyboardEvent(String type, bool canBubble, bool cancelable,
     Window view, String keyIdentifier, int keyLocation, bool ctrlKey,
     bool altKey, bool shiftKey, bool metaKey, bool altGraphKey) {
   if (JS('bool', 'typeof(#.initKeyEvent) == "function"', this)) {
     // initKeyEvent is only in Firefox (instead of initKeyboardEvent). It has
     // a slightly different signature, and allows you to specify keyCode and
     // charCode as the last two arguments, but we just set them as the default
     // since they can't be specified in other browsers.
     JS('void', '#.initKeyEvent(#, #, #, #, #, #, #, #, 0, 0)', this,
         type, canBubble, cancelable, view,
         ctrlKey, altKey, shiftKey, metaKey);
   } else {
     // initKeyboardEvent is for all other browsers.
     JS('void', '#.initKeyboardEvent(#, #, #, #, #, #, #, #, #, #, #)', this,
         type, canBubble, cancelable, view, keyIdentifier, keyLocation,
         ctrlKey, altKey, shiftKey, metaKey, altGraphKey);
   }
 }

 @DomName('KeyboardEvent.keyCode')
 int get keyCode => $dom_keyCode;

 @DomName('KeyboardEvent.charCode')
 int get charCode => $dom_charCode;

 @DomName('KeyboardEvent.altGraphKey')
 @DocsEditable
 @Experimental // nonstandard
 final bool altGraphKey;

 @DomName('KeyboardEvent.altKey')
 @DocsEditable
 final bool altKey;

 @DomName('KeyboardEvent.ctrlKey')
 @DocsEditable
 final bool ctrlKey;

 @JSName('keyIdentifier')
 @DomName('KeyboardEvent.keyIdentifier')
 @DocsEditable
 @Experimental // nonstandard
 final String $dom_keyIdentifier;

 @DomName('KeyboardEvent.keyLocation')
 @DocsEditable
 @Experimental // nonstandard
 final int keyLocation;

 @DomName('KeyboardEvent.metaKey')
 @DocsEditable
 final bool metaKey;

 @DomName('KeyboardEvent.shiftKey')
 @DocsEditable
 final bool shiftKey;

}

Extends

Interceptor > Event > UIEvent > KeyboardEvent

Subclasses

KeyEvent

Constructors

factory KeyboardEvent(String type, {Window view, bool canBubble: true, bool cancelable: true, String keyIdentifier: "", int keyLocation: 1, bool ctrlKey: false, bool altKey: false, bool shiftKey: false, bool metaKey: false, bool altGraphKey: false}) #

factory KeyboardEvent(String type,
   {Window view, bool canBubble: true, bool cancelable: true,
   String keyIdentifier: "", int keyLocation: 1, bool ctrlKey: false,
   bool altKey: false, bool shiftKey: false, bool metaKey: false,
   bool altGraphKey: false}) {
 if (view == null) {
   view = window;
 }
 final e = document.$dom_createEvent("KeyboardEvent");
 e.$dom_initKeyboardEvent(type, canBubble, cancelable, view, keyIdentifier,
     keyLocation, ctrlKey, altKey, shiftKey, metaKey, altGraphKey);
 return e;
}

Properties

final int $dom_charCode #

inherited from UIEvent
final int $dom_charCode

final int $dom_keyCode #

inherited from UIEvent
final int $dom_keyCode

final String $dom_keyIdentifier #

final String $dom_keyIdentifier

final int $dom_layerX #

inherited from UIEvent
final int $dom_layerX

final int $dom_layerY #

inherited from UIEvent
final int $dom_layerY

final int $dom_pageX #

inherited from UIEvent
final int $dom_pageX

final int $dom_pageY #

inherited from UIEvent
final int $dom_pageY

final bool altGraphKey #

final bool altGraphKey

final bool altKey #

true if the Alt (or Option, on Mac) key was active when the key event was generated. Read only.
final bool altKey

final bool bubbles #

inherited from Event
A boolean indicating whether the event bubbles up through the DOM or not.
final bool bubbles

final bool cancelable #

inherited from Event
A boolean indicating whether the event is cancelable.
final bool cancelable

bool cancelBubble #

inherited from Event
A boolean indicating whether the bubbling of the event has been canceled or not.
bool cancelBubble

final int charCode #

The Unicode reference number of the key; this attribute is used only by the keypress event. For keys whose char attribute contains multiple characters, this is the Unicode value of the first character in that attribute. Read only.

Warning: This attribute is deprecated; you should use char instead, if available.
@DomName('KeyboardEvent.charCode')
int get charCode => $dom_charCode;

final DataTransfer clipboardData #

inherited from Event
final DataTransfer clipboardData

final bool ctrlKey #

true if the Control key was active when the key event was generated. Read only.
final bool ctrlKey

final EventTarget currentTarget #

inherited from Event
EventTarget get currentTarget => _convertNativeToDart_EventTarget(this._get_currentTarget);

final bool defaultPrevented #

inherited from Event
Indicates whether or not event.preventDefault() has been called on the event.
final bool defaultPrevented

final int detail #

inherited from UIEvent
Detail about the event, depending on the type of event. Read only.
final int detail

final int eventPhase #

inherited from Event
Indicates which phase of the event flow is being processed.
final int eventPhase

final int hashCode #

inherited from Interceptor

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

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

docs inherited from Object
int get hashCode => Primitives.objectHashCode(this);

final int keyCode #

A system and implementation dependent numerical code identifying the unmodified value of the pressed key. This is usually the decimal ASCII (RFC 20) or Windows 1252 code corresponding to the key; see Virtual key codes for a list of common values. If the key can't be identified, this value is 0. Read only.

Warning: This attribute is deprecated; you should use key instead, if available.
@DomName('KeyboardEvent.keyCode')
int get keyCode => $dom_keyCode;

final int keyLocation #

final int keyLocation

final Point layer #

inherited from UIEvent
@DomName('UIEvent.layerX')
@DomName('UIEvent.layerY')
Point get layer => new Point($dom_layerX, $dom_layerY);

final int layerX #

inherited from UIEvent
@deprecated
int get layerX => layer.x;

final int layerY #

inherited from UIEvent
@deprecated
int get layerY => layer.y;

final bool metaKey #

true if the Meta (or Command, on Mac) key was active when the key event was generated. Read only.
final bool metaKey

final Point page #

inherited from UIEvent
@DomName('UIEvent.pageX')
@DomName('UIEvent.pageY')
Point get page => new Point($dom_pageX, $dom_pageY);

final int pageX #

inherited from UIEvent
@deprecated
int get pageX => page.x;

final int pageY #

inherited from UIEvent
@deprecated
int get pageY => page.y;

final List<Node> path #

inherited from Event
final List<Node> path

final Type runtimeType #

inherited from Interceptor

A representation of the runtime type of the object.

docs inherited from Object
Type get runtimeType => getRuntimeType(this);

final bool shiftKey #

true if the Shift key was active when the key event was generated. Read only.
final bool shiftKey

final EventTarget target #

inherited from Event
EventTarget get target => _convertNativeToDart_EventTarget(this._get_target);

final int timeStamp #

inherited from Event
The time that the event was created.
final int timeStamp

final String type #

inherited from Event
The name of the event (case-insensitive).
final String type

final WindowBase view #

inherited from UIEvent
WindowBase get view => _convertNativeToDart_Window(this._get_view);

final int which #

inherited from UIEvent
final int which

Operators

bool operator ==(other) #

inherited from Interceptor

The equality operator.

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

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

docs inherited from Object
bool operator ==(other) => identical(this, other);

Methods

dynamic noSuchMethod(Invocation invocation) #

inherited from Interceptor

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod in an Invocation. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

docs inherited from Object
dynamic noSuchMethod(Invocation invocation) {
 throw new NoSuchMethodError(
     this,
     _symbolToString(invocation.memberName),
     invocation.positionalArguments,
     _symbolMapToStringMap(invocation.namedArguments));
}

void preventDefault() #

inherited from Event
Cancels the event (if it is cancelable).
@DomName('Event.preventDefault')
@DocsEditable
void preventDefault() native;

void stopImmediatePropagation() #

inherited from Event
For this particular event, no other listener will be called. Neither those attached on the same element, nor those attached on elements which will be traversed later (in capture phase, for instance)
@DomName('Event.stopImmediatePropagation')
@DocsEditable
void stopImmediatePropagation() native;

void stopPropagation() #

inherited from Event
Stops the propagation of events further along in the DOM.
@DomName('Event.stopPropagation')
@DocsEditable
void stopPropagation() native;

String toString() #

inherited from Interceptor

Returns a string representation of this object.

docs inherited from Object
String toString() => Primitives.objectToString(this);

void $dom_initEvent(String eventTypeArg, bool canBubbleArg, bool cancelableArg) #

inherited from Event
Initializes the value of an Event created through the DocumentEvent interface.
@JSName('initEvent')
@DomName('Event.initEvent')
@DocsEditable
void $dom_initEvent(String eventTypeArg, bool canBubbleArg, bool cancelableArg) native;

void $dom_initKeyboardEvent(String type, bool canBubble, bool cancelable, Window view, String keyIdentifier, int keyLocation, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool altGraphKey) #

Initializes the attributes of a keyboard event object.

Parameters
typeArg
The type of keyboard event; this will be one of keydown, keypress, or keyup.
canBubbleArg
Whether or not the event can bubble.
cancelableArg
Whether or not the event can be canceled.
viewArg
?
charArg
The value of the char attribute.
keyArg
The value of the key attribute.
locationArg
The value of the location attribute.
modifiersListArg
A whitespace-delineated list of modifier keys that should be considered to be active on the event's key. For example, specifying "Control Shift" indicates that the user was holding down the Control and Shift keys when pressing the key described by the event.
repeatArg
The value of the repeat attribute.
localeArg
The value of the locale attribute.
@DomName('KeyboardEvent.initKeyboardEvent')
void $dom_initKeyboardEvent(String type, bool canBubble, bool cancelable,
   Window view, String keyIdentifier, int keyLocation, bool ctrlKey,
   bool altKey, bool shiftKey, bool metaKey, bool altGraphKey) {
 if (JS('bool', 'typeof(#.initKeyEvent) == "function"', this)) {
   // initKeyEvent is only in Firefox (instead of initKeyboardEvent). It has
   // a slightly different signature, and allows you to specify keyCode and
   // charCode as the last two arguments, but we just set them as the default
   // since they can't be specified in other browsers.
   JS('void', '#.initKeyEvent(#, #, #, #, #, #, #, #, 0, 0)', this,
       type, canBubble, cancelable, view,
       ctrlKey, altKey, shiftKey, metaKey);
 } else {
   // initKeyboardEvent is for all other browsers.
   JS('void', '#.initKeyboardEvent(#, #, #, #, #, #, #, #, #, #, #)', this,
       type, canBubble, cancelable, view, keyIdentifier, keyLocation,
       ctrlKey, altKey, shiftKey, metaKey, altGraphKey);
 }
}

void $dom_initUIEvent(String type, bool canBubble, bool cancelable, Window view, int detail) #

inherited from UIEvent

Initializes the UIEvent object.

Parameters
typeArg
The type of UI event.
canBubbleArg
Whether or not the event can bubble.
cancelableArg
Whether or not the event can be canceled.
viewArg
Specifies the view attribute value. This may be null.
detailArg
Specifies the detail attribute value.
@JSName('initUIEvent')
@DomName('UIEvent.initUIEvent')
@DocsEditable
void $dom_initUIEvent(String type, bool canBubble, bool cancelable, Window view, int detail) native;

This page includes content from the Mozilla Foundation that is graciously licensed under a Creative Commons: Attribution-Sharealike license. Mozilla has no other association with Dart or dartlang.org. We encourage you to improve the web by contributing to The Mozilla Developer Network.