Touch.clientX

The Touch.clientX read-only property returns the X coordinate of the touch point relative to the viewport, not including any scroll offset.

Syntax

touchItem.clientX;

Return value

A long representing the X coordinate of the touch point relative to the viewport, not including any scroll offset.

Example

This example illustrates using the Touch object's Touch.clientX and Touch.clientY properties. The Touch.clientX property is the horizontal coordinate of a touch point relative to the browser's viewport excluding any scroll offset. The Touch.clientY property is the vertical coordinate of the touch point relative to the browser's viewport excluding any scroll offset .

In this example, we assume the user initiates a touch on an element with an id of source, moves within the element or out of the element and then releases contact with the surface. When the touchend event handler is invoked, the changes in the Touch.clientX and Touch.clientY coordinates, from the starting touch point to the ending touch point, are calculated.

// Register touchstart and touchend listeners for element 'source'
var src = document.getElementById("source");
var clientX, clientY;

src.addEventListener('touchstart', function(e) {
  // Cache the client X/Y coordinates
  clientX = e.touches[0].clientX;
  clientY = e.touches[0].clientY;
}, false);

src.addEventListener('touchend', function(e) {
  var deltaX, deltaY;

  // Compute the change in X and Y coordinates.
  // The first touch point in the changedTouches
  // list is the touch point that was just removed from the surface.
  deltaX = e.changedTouches[0].clientX - clientX;
  deltaY = e.changedTouches[0].clientY - clientY;

  // Process the data ...
}, false);

Specifications

Specification Status Comment
Touch Events – Level 2 Draft Non-stable version.
Touch Events Recommendation Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
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

Legend

Full support
Full support
No support
No support
See implementation notes.
See implementation notes.