This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

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.
Editor's Draft Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 48.0 ? ? 35 ?
Feature Android Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support ? 48.0 48.0 ? ? ? 35 ?


See also

  • TouchEvent, the interface of the objects it constructs
    .

Document Tags and Contributors

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