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

Syntax

touchItem.pageX;

Return value

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

Example

This example illustrates how to access the Touch object's Touch.pageX and Touch.pageY properties. The Touch.pageX property is the horizontal coordinate of a touch point relative to the viewport (in CSS pixels), including any scroll offset. The Touch.pageY property is the vertical coordinate of a touch point relative to the viewport (in CSS pixels), including any scroll offset.

In following simple code snippet, we assume the user initiates one or more touch contacts on the source element, moves the touch points and then releases all contacts with the surface. When the touchmove event handler is invoked, each touch point's Touch.pageX and Touch.pageY coordinates are accessed via the event's TouchEvent.changedTouches list.

// Register a touchmove listeners for the 'source' element
var src = document.getElementById("source");

src.addEventListener('touchmove', function(e) {
  // Iterate through the touch points that have moved and log each 
  // of the pageX/Y coordinates. The unit of each coordinate is CSS pixels.
  var i;
  for (i=0; i < e.changedTouches.length; i++) {
    console.log("touchpoint[" + i + "].pageX = " + e.changedTouches[i].pageX);
    console.log("touchpoint[" + i + "].pageY = " + e.changedTouches[i].pageY);
  }
}, false);

Specifications

Specification Status Comment
Touch Events – Level 2 Editor's Draft No change from the previous 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.

Document Tags and Contributors

 Last updated by: chrisdavidmills,