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.
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
final bool altGraphKey;
@DomName('KeyboardEvent.altKey')
@DocsEditable
final bool altKey;
@DomName('KeyboardEvent.ctrlKey')
@DocsEditable
final bool ctrlKey;
@JSName('keyIdentifier')
@DomName('KeyboardEvent.keyIdentifier')
@DocsEditable
final String $dom_keyIdentifier;
@DomName('KeyboardEvent.keyLocation')
@DocsEditable
final int keyLocation;
@DomName('KeyboardEvent.metaKey')
@DocsEditable
final bool metaKey;
@DomName('KeyboardEvent.shiftKey')
@DocsEditable
final bool shiftKey;
}
Extends
Interceptor > Event > UIEvent > KeyboardEvent
Subclasses
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 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 #
final bool bubbles
final bool cancelable #
final bool cancelable
bool cancelBubble #
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.
char instead, if available.
@DomName('KeyboardEvent.charCode')
int get charCode => $dom_charCode;
final bool ctrlKey #
true if the Control key was active when the key event was generated. Read only.
final bool ctrlKey
final EventTarget currentTarget #
EventTarget get currentTarget => _convertNativeToDart_EventTarget(this._get_currentTarget);
final bool defaultPrevented #
event.preventDefault()
has been called on the event.
final bool defaultPrevented
final int detail #
final int detail
final int eventPhase #
final int eventPhase
final int hashCode #
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.
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.
key instead, if available.
@DomName('KeyboardEvent.keyCode')
int get keyCode => $dom_keyCode;
final Point layer #
@DomName('UIEvent.layerX')
@DomName('UIEvent.layerY')
Point get layer => new Point($dom_layerX, $dom_layerY);
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 #
@DomName('UIEvent.pageX')
@DomName('UIEvent.pageY')
Point get page => new Point($dom_pageX, $dom_pageY);
final Type runtimeType #
A representation of the runtime type of the 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 #
EventTarget get target => _convertNativeToDart_EventTarget(this._get_target);
final String type #
final String type
final WindowBase view #
WindowBase get view => _convertNativeToDart_Window(this._get_view);
Operators
bool operator ==(other) #
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.
bool operator ==(other) => identical(this, other);
Methods
dynamic noSuchMethod(Invocation invocation) #
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.
dynamic noSuchMethod(Invocation invocation) {
throw new NoSuchMethodError(
this,
_symbolToString(invocation.memberName),
invocation.positionalArguments,
_symbolMapToStringMap(invocation.namedArguments));
}
void preventDefault() #
@DomName('Event.preventDefault')
@DocsEditable
void preventDefault() native;
void stopImmediatePropagation() #
@DomName('Event.stopImmediatePropagation')
@DocsEditable
void stopImmediatePropagation() native;
void stopPropagation() #
@DomName('Event.stopPropagation')
@DocsEditable
void stopPropagation() native;
String toString() #
Returns a string representation of this object.
String toString() => Primitives.objectToString(this);
void $dom_initEvent(String eventTypeArg, bool canBubbleArg, bool cancelableArg) #
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, orkeyup. 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) #
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
viewattribute value. This may benull. 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.