PointerEvent: pointerType 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 2020.
* Some parts of this feature may have varying levels of support.
The pointerType
read-only property of the
PointerEvent
interface indicates the device type (mouse, pen, or touch)
that caused a given pointer event.
Value
The event's pointer type. The supported values are the following strings:
"mouse"
-
The event was generated by a mouse device.
"pen"
-
The event was generated by a pen or stylus device.
"touch"
-
The event was generated by a touch, such as a finger.
If the device type cannot be detected by the browser, the value can be an empty string
(""
). If the browser supports pointer device types other than those listed
above, the value should be vendor-prefixed to avoid conflicting names for
different types of devices.
Examples
This example illustrates using the value of the pointerType
property to
call the appropriate pointer type processing function.
targetElement.addEventListener(
"pointerdown",
(event) => {
// Call the appropriate pointer type handler
switch (event.pointerType) {
case "mouse":
process_pointer_mouse(event);
break;
case "pen":
process_pointer_pen(event);
break;
case "touch":
process_pointer_touch(event);
break;
default:
console.log(`pointerType ${event.pointerType} is not supported`);
}
},
false,
);
Specifications
Specification |
---|
Pointer Events # dom-pointerevent-pointertype |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
pointerType | ||||||||||||
Fractional coordinates for mouse . |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- See implementation notes.
- Has more compatibility info.