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 inherit or implement other properties.

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

Experimental: 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 methods and no parent, and doesn't inherit or implement any methods.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Touch
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
Touch
48
79
46
No
35
No
48
48
6
Yes
Yes
5.0
altitudeAngle
No
No
No
No
No
No
No
No
No
No
10
No
azimuthAngle
No
No
No
No
No
No
No
No
No
No
10
No
clientX
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
clientY
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
force
Yes
≤79
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
identifier
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
pageX
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
pageY
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
radiusX
43
≤79
?
No
Yes
No
43
43
Yes
Yes
Yes
4.0
radiusY
43
≤79
?
No
Yes
No
43
43
Yes
Yes
Yes
4.0
rotationAngle
43
≤79
?
No
Yes
No
43
43
Yes
Yes
Yes
4.0
screenX
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
screenY
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
target
22
≤18
52
Touch events support has been fixed and reenabled in Windows desktop platforms.
18-24
Web compatibility issues seen in bug 888304.
No
Yes
No
Yes
Yes
6
Yes
Yes
Yes
touchType
No
No
No
No
No
No
No
No
No
No
10
No

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Touch