The pointerType
read-only property of the PointerEvent
interface indicates the device type (mouse, pen, or touch) that caused a given pointer event.
Syntax
var pType = pointerEvent.pointerType;
Return value
pType
- 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.
Example
This example illustrates using the value of the pointerType
property to call the appropriate pointer type processing function.
targetElement.addEventListener('pointerdown', function(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 suported`); } }, false);
Specifications
Specification | Status | Comment |
---|---|---|
Pointer Events The definition of 'pointerType' in that specification. |
Obsolete | Initial definition. |
Pointer Events – Level 2 The definition of 'pointerType' in that specification. |
Recommendation | Non-stable version. |
CSS Object Model (CSSOM) View Module The definition of 'MouseEvent' in that specification. |
Working Draft | Redefines MouseEvent from long to double . This means that a PointerEvent whose pointerType is mouse will be a double . |
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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
pointerType | Chrome Full support 55 | Edge Full support 12 | Firefox
Full support
59
| IE
Full support
11
| Opera Full support 42 | Safari Full support 13 | WebView Android Full support 55 | Chrome Android Full support 55 | Firefox Android
Full support
41
| Opera Android Full support 42 | Safari iOS Full support 13 | Samsung Internet Android Full support 6.0 |
Fractional coordinates for mouse . | Chrome
Partial support
64
| Edge
Partial support
79
| Firefox No support No | IE
Partial support
Partial
| Opera
Partial support
51
| Safari No support No | WebView Android
Partial support
64
| Chrome Android
Partial support
64
| Firefox Android No support No | Opera Android
Partial support
47
| Safari iOS No support No | Samsung Internet Android
Partial support
9.0
|
Legend
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.