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 | Editor's Draft | Non-stable version. |
Touch Events | Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 22.0 | (Yes) | 18.0 (18.0)[1] 52.0 (52.0)[2] |
No support | No support | No support |
Feature | Android | Android Webview | Chrome for Android | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | 6.0 (6.0) | (Yes) | 11 | (Yes) | (Yes) |
[1] Touch events were implemented in Gecko 18.0, but removed again in 24.0 (Firefox 24.0 / Thunderbird 24.0 / SeaMonkey 2.21) on the desktop version of Firefox due to web compatibility issues (bug 888304).
[2] As of Gecko 52.0, touch events support has been fixed and reenabled in Windows desktop platforms.