Touch

The Touch interface represents a single contact point on a touch-sensitive device. The contact point is commonly a finger or stylus and the device may be a touchscreen or trackpad.

The Touch.radiusX, Touch.radiusY, and Touch.rotationAngle describe the area of contact between the user and the screen, the touch area. This can be helpful when dealing with imprecise pointing devices such as fingers. These values are set to describe an ellipse that as closely as possible matches the entire area of contact (such as the user's fingertip).

Note: Many of the properties' values are hardware-dependent; for example, if the device doesn't have a way to detect the amount of pressure placed on the surface, the force value will always be 0. This may also be the case for radiusX and radiusY; if the hardware reports only a single point, these values will be 1.

Constructor

Touch()
Creates a Touch object.

Properties

This interface has no parent, and doesn't inherits or implements any other property.

Basic properties

Touch.identifier Read only
Returns a unique identifier for this Touch object. A given touch point (say, by a finger) will have the same identifier for the duration of its movement around the surface. This lets you ensure that you're tracking the same touch all the time.
Touch.screenX Read only
Returns the X coordinate of the touch point relative to the left edge of the screen.
Touch.screenY Read only
Returns the Y coordinate of the touch point relative to the top edge of the screen.
Touch.clientX Read only
Returns the X coordinate of the touch point relative to the left edge of the browser viewport, not including any scroll offset.
Touch.clientY Read only
Returns the Y coordinate of the touch point relative to the top edge of the browser viewport, not including any scroll offset.
Touch.pageX Read only
Returns the X coordinate of the touch point relative to the left edge of the document. Unlike clientX, this value includes the horizontal scroll offset, if any.
Touch.pageY Read only
Returns the Y coordinate of the touch point relative to the top of the document. Unlike clientY, this value includes the vertical scroll offset, if any.
Touch.target Read only
Returns the Element on which the touch point started when it was first placed on the surface, even if the touch point has since moved outside the interactive area of that element or even been removed from the document.

Touch area

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Touch.radiusX Read only
Returns the X radius of the ellipse that most closely circumscribes the area of contact with the screen. The value is in pixels of the same scale as screenX.
Touch.radiusY Read only
Returns the Y radius of the ellipse that most closely circumscribes the area of contact with the screen. The value is in pixels of the same scale as screenY.
Touch.rotationAngle Read only
Returns the angle (in degrees) that the ellipse described by radiusX and radiusY must be rotated, clockwise, to most accurately cover the area of contact between the user and the surface.
Touch.forceRead only
Returns the amount of pressure being applied to the surface by the user, as a float between 0.0 (no pressure) and 1.0 (maximum pressure).

Methods

This interface has no method and no parent, and doesn't inherits or implements any method.

Specifications

Specification Status Comment
Touch Events – Level 2
The definition of 'Touch' in that specification.
Draft Added radiusX, radiusY, rotationAngle, force properties, as well as the Touch() constructor.
Touch Events
The definition of 'Touch' in that specification.
Recommendation Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
TouchChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
Touch() constructor
Experimental
Chrome Full support 48Edge Full support 79Firefox Full support 46IE No support NoOpera Full support 35Safari No support NoWebView Android Full support 48Chrome Android Full support 48Firefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 5.0
clientXChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
clientYChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
force
Experimental
Chrome Full support YesEdge Full support ≤79Firefox Full support YesIE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
identifierChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
pageXChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
pageYChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
radiusX
Experimental
Chrome Full support 43Edge Full support ≤79Firefox ? IE No support NoOpera Full support YesSafari No support NoWebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
radiusY
Experimental
Chrome Full support 43Edge Full support ≤79Firefox ? IE No support NoOpera Full support YesSafari No support NoWebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
rotationAngle
Experimental
Chrome Full support 43Edge Full support ≤79Firefox ? IE No support NoOpera Full support YesSafari No support NoWebView Android Full support 43Chrome Android Full support 43Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
screenXChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
screenYChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
targetChrome Full support 22Edge Full support ≤18Firefox Full support 52
Notes
Full support 52
Notes
Notes Touch events support has been fixed and reenabled in Windows desktop platforms.
No support 18 — 24
Notes
Notes Web compatibility issues seen in bug 888304.
IE No support NoOpera Full support YesSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 6Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

See also