MouseEvent: screenX property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The screenX
read-only property of the MouseEvent
interface provides the horizontal coordinate (offset) of the mouse pointer in screen coordinates.
Note:
In a multiscreen environment, screens aligned horizontally will be treated as a single device, and so the range of the screenX
value will increase to the combined width of the screens.
Value
A double
floating point value in pixels.
Early versions of the spec defined this as an integer referring to the number of pixels.
Examples
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 |
---|
UI Events # dom-mouseevent-screenx |
Browser compatibility
BCD tables only load in the browser