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

The Touch() constructor creates a new Touch object.

Syntax

 touch = new Touch(touchInit);

Arguments

touchInit
Is a TouchInit dictionary, having the following fields:
  • "identifier", required, of type long, that is the identification number for the touch point.
  • "target", required, of type EventTarget, the item at which the touch point started when it was first placed on the surface.
  • "clientX", optional and defaulting to 0, of type double, that is the horizontal position of the touch on the client window of user's screen, excluding any scroll offset.
  • "clientY", optional and defaulting to 0, of type double, that is the vertical position of the touch on the client window of the user's screen, excluding any scroll offset.
  • "screenX", optional and defaulting to 0, of type double, that is the horizontal position of the touch on the user's screen.
  • "screenY", optional and defaulting to 0, of type double, that is the vertical position of the touch on the user's screen.
  • "pageX", optional and defaulting to 0, of type double, that is the horizontal position of the touch on the client window of user's screen, including any scroll offset.
  • "pageY", optional and defaulting to 0, of type double, that is the vertical position of the touch on the client window of the user's screen, including any scroll offset.
  • "radiusX", optional and defaulting to 0, of type float, that is the radius of the ellipse which most closely circumscribes the touching area (e.g. finger, stylus) along the axis indicated by rotationAngle, in CSS pixels of the same scale as screenX; 0 if no value is known. The value must not be negative.
  • "radiusY", optional and defaulting to 0, of type float, that is the the radius of the ellipse which most closely circumscribes the touching area (e.g. finger, stylus) along the axis perpendicular to that indicated by rotationAngle, in CSS pixels  of the same scale as screenY; 0 if no value is known. The value must not be negative.
  • "rotationAngle", optional and defaulting to 0, of type float, that is the angle (in degrees) that the ellipse described by radiusX and radiusY is rotated clockwise about its center; 0 if no value is known. The value must be greater than or equal to 0 and less than 90. If the ellipse described by radiusX and radiusY is circular, then rotationAngle has no effect. The user agent may use 0 as the value in this case, or it may use any other value in the allowed range. (For example, the user agent may use the rotationAngle value from the previous touch event, to avoid sudden changes.).
  • "force", optional and defaulting to 0, of type float, that is the relative value of pressure applied, in the range 0 to 1, where 0 is no pressure, and 1 is the highest level of pressure the touch device is capable of sensing; 0 if no value is known. In environments where force is known, the absolute pressure represented by the force attribute, and the sensitivity in levels of pressure, may vary.

Specifications

Specification Status Comment
Touch Events – Level 2
The definition of 'TouchEvent' in that specification.
Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
Experimental
Chrome Full support 48Edge No support NoFirefox Full support 46IE No support NoOpera Full support 35Safari ? WebView Android Full support 48Chrome Android Full support 48Edge Mobile 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 also

  • TouchEvent, the interface of the objects it constructs
    .

Document Tags and Contributors

Contributors to this page: fscholz, mathiasbynens, mrenty, AFBarstow, dtapuska, teoli
Last updated by: fscholz,