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 Module The definition of 'screenX' in that specification. |
Working Draft | Redefines MouseEvent from long to double. |
Document Object Model (DOM) Level 3 Events Specification The 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 Specification The definition of 'MouseEvent.sceenX' in that specification. |
Obsolete | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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