In JavaScript, the pointermove event fires when a pointer changes coordinates (and is not canceled by a browser touch-action) (MDN). It is a PointerEvent — similar to mousemove, but for mouse, touch, and pen.
Register a listener with addEventListener. Check readiness and browser support before you rely on this event.
Syntax
Listen for pointermove. Start with this line.
JavaScript
el.addEventListener("pointermove", fn)
Call
What it does
el.addEventListener("pointermove", fn)
Primary signature.
Built into the browser. Listen with el.addEventListener("pointermove", …) — no import required.
Library declarations
JavaScript
el.addEventListener("pointermove", fn)
Parameters
Parameter
Description
Event target
Required. Element listening for moves
PointerEvent
Required. Position, type, pressure, buttons
Return Value
Return Value
Description
*
Fires as an Element event (listener receives the Event object).
JavaScript Examples
Example 1 — Listen for pointermove
MDN-style listener — log when the pointer moves over the element.
Use one listener. Pointer Events unify mouse, touch, and pen.
Read pointerType. Common values: "mouse", "touch", "pen".
Combine with coords. Useful for logging or device-specific UI hints.
Prefer this over separate mouse + touch move handlers for new apps.
Compatibility
Browser Support
Elementpointermove is Baseline Widely available on MDN (since July 2020). Pointer Events work across modern evergreen browsers.
✓ Baseline · Widely available
Element pointermove
PointerEvent when a pointer changes coordinates — mouse, touch, and pen.
96%Modern browser support
Google ChromeAll versions · Desktop & Mobile
Full support
Mozilla FirefoxAll versions · Desktop & Mobile
Full support
Apple SafariAll versions · macOS & iOS
Full support
Microsoft EdgeAll versions · Chromium & Legacy
Full support
Internet ExplorerIE 6+ · Legacy environments
Full support
OperaAll modern versions
Full support
pointermoveExcellent
Bottom line: Safe for modern web apps. Prefer pointermove for unified movement tracking. Keep handlers light; use pointerrawupdate only when raw frequency is required.
Frequently Asked Questions
It fires when a pointer changes coordinates and has not been canceled by a browser touch-action (MDN). It can also fire when other pointer properties change if that change does not produce another pointer event.
No. MDN marks Element pointermove as Baseline Widely available (since July 2020). It is not Deprecated, Experimental, or Non-standard.
A PointerEvent (inherits from Event). Useful fields include pointerId, pointerType, pressure, clientX/clientY, and movementX/movementY.
No. MDN notes these events happen whether or not any pointer buttons are pressed—so mouse hover moves still fire pointermove.
It can fire at a very high rate depending on how fast the user moves, how fast the machine is, and what else is running. Keep handlers light or throttle heavy work.
Usually no. MDN: prefer pointermove for most cases. Browsers may delay pointermove for performance, while pointerrawupdate fires as often as possible and can hurt performance.