Web/API/MouseEvent/screenX

From Get docs


The screenX read-only property of the MouseEvent interface provides the horizontal coordinate (offset) of the mouse pointer in global (screen) coordinates.

Syntax

var x = instanceOfMouseEvent.screenX

Return value

A double floating point value. Early versions of the spec defined this as an integer referring to the number of pixels. See the "Browser compatibility" section for details.

Example

This example displays your mouse's coordinates whenever you trigger the mousemove event.

HTML

<p>Move your mouse to see its position.</p>
<p id="screen-log"></p>

JavaScript

let screenLog = document.querySelector('#screen-log');
document.addEventListener('mousemove', logKey);

function logKey(e) {
  screenLog.innerText = `
    Screen X/Y: ${e.screenX}, ${e.screenY}
    Client X/Y: ${e.clientX}, ${e.clientY}`;
}

Result

Routing an event

When you trap events on the window, document, or other roomy elements, you can get the coordinates of that event (e.g., a click) and route it properly, as the following example demonstrates:

function checkClickMap(e) {
  if (e.screenX < 50) doRedButton();
  if (50 <= e.screenX && e.screenX < 100) doYellowButton();
  if (e.screenX >= 100) doRedButton();
}

Specifications

Specification Status Comment
CSS Object Model (CSSOM) View ModuleThe definition of 'screenX' in that specification. Working Draft Redefines MouseEvent from long to double.
Document Object Model (DOM) Level 3 Events SpecificationThe definition of 'MouseEvent.screenX' in that specification. Obsolete No change from Document Object Model (DOM) Level 2 Events Specification.
Document Object Model (DOM) Level 2 Events SpecificationThe definition of 'MouseEvent.sceenX' in that specification. Obsolete Initial definition

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
screenX Chrome

Full support Yes

Edge

Full support 12

Firefox

Full support Yes

IE

Full support 9

Opera

Full support Yes

Safari

Full support Yes

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

Full support Yes

Samsung Internet Android

Full support Yes

Value type changed from long to double Chrome

Full support 56

Edge

Full support ≤79

Firefox

?

IE

?

Opera

?

Safari

?

WebView Android

Full support 56

Chrome Android

Full support 56

Firefox Android

?

Opera Android

?

Safari iOS

?

Samsung Internet Android

Full support 6.0

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown


See also