TouchEvent class
A TouchEvent represents an event sent when the state of contacts with a touch-sensitive surface changes. This surface can be a touch screen or trackpad, for example. The event can describe one or more points of contact with the screen and includes support for detecting movement, addition and removal of contact points, and so forth.
Touches are represented by the Touch
object; each touch is described by a position, size and shape, amount of pressure, and target element. Lists of touches are represented by TouchList
objects.
@DomName('TouchEvent')
class TouchEvent extends UIEvent native "TouchEvent" {
factory TouchEvent(TouchList touches, TouchList targetTouches,
TouchList changedTouches, String type,
{Window view, int screenX: 0, int screenY: 0, int clientX: 0,
int clientY: 0, bool ctrlKey: false, bool altKey: false,
bool shiftKey: false, bool metaKey: false}) {
if (view == null) {
view = window;
}
var e = document.$dom_createEvent("TouchEvent");
e.$dom_initTouchEvent(touches, targetTouches, changedTouches, type, view,
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey);
return e;
}
@DomName('TouchEvent.altKey')
@DocsEditable
final bool altKey;
@DomName('TouchEvent.changedTouches')
@DocsEditable
final TouchList changedTouches;
@DomName('TouchEvent.ctrlKey')
@DocsEditable
final bool ctrlKey;
@DomName('TouchEvent.metaKey')
@DocsEditable
final bool metaKey;
@DomName('TouchEvent.shiftKey')
@DocsEditable
final bool shiftKey;
@DomName('TouchEvent.targetTouches')
@DocsEditable
final TouchList targetTouches;
@DomName('TouchEvent.touches')
@DocsEditable
final TouchList touches;
@JSName('initTouchEvent')
@DomName('TouchEvent.initTouchEvent')
@DocsEditable
void $dom_initTouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, Window view, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) native;
/**
* Checks if touch events supported on the current platform.
*
* Note that touch events are only supported if the user is using a touch
* device.
*/
static bool get supported {
if (JS('bool', '"ontouchstart" in window')) {
return Device.isEventTypeSupported('TouchEvent');
}
return false;
}
}
Extends
Interceptor > Event > UIEvent > TouchEvent
Static Properties
final bool supported #
Checks if touch events supported on the current platform.
Note that touch events are only supported if the user is using a touch device.
static bool get supported {
if (JS('bool', '"ontouchstart" in window')) {
return Device.isEventTypeSupported('TouchEvent');
}
return false;
}
Constructors
factory TouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, {Window view, int screenX: 0, int screenY: 0, int clientX: 0, int clientY: 0, bool ctrlKey: false, bool altKey: false, bool shiftKey: false, bool metaKey: false}) #
factory TouchEvent(TouchList touches, TouchList targetTouches,
TouchList changedTouches, String type,
{Window view, int screenX: 0, int screenY: 0, int clientX: 0,
int clientY: 0, bool ctrlKey: false, bool altKey: false,
bool shiftKey: false, bool metaKey: false}) {
if (view == null) {
view = window;
}
var e = document.$dom_createEvent("TouchEvent");
e.$dom_initTouchEvent(touches, targetTouches, changedTouches, type, view,
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey);
return e;
}
Properties
final bool altKey #
final bool altKey
final bool bubbles #
final bool bubbles
final bool cancelable #
final bool cancelable
bool cancelBubble #
bool cancelBubble
final bool ctrlKey #
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 Point layer #
@DomName('UIEvent.layerX')
@DomName('UIEvent.layerY')
Point get layer => new Point($dom_layerX, $dom_layerY);
final bool metaKey #
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 #
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_initTouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, Window view, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) #
@JSName('initTouchEvent')
@DomName('TouchEvent.initTouchEvent')
@DocsEditable
void $dom_initTouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, Window view, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) native;
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.