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 EventsThe definition of 'pointerType' in that specification. | Obsolete | Initial definition. |
Pointer Events – Level 2The definition of 'pointerType' in that specification. | Recommendation | Non-stable version. |
CSS Object Model (CSSOM) View ModuleThe 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.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
pointerType
|
Chrome
Full support 55 |
Edge
Full support 12 |
Firefox Full support 59 Full support 59 Full support 41 Disabled' From version 41: this feature is behind the |
IE Full support 11 Full support 11 Partial support 10 Notes' Returns an integer enumeration instead of a string. |
Opera
Full support 42 |
Safari
Full support 13 |
WebView Android
Full support 55 |
Chrome Android
Full support 55 |
Firefox Android Full support 41 Full support 41 Disabled' From version 41: this feature is behind the |
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 Partial support 64 Notes' |
Edge Partial support 79 Partial support 79 Notes' Notes' Only |
Firefox
No support No |
IE Partial support Partial Partial support Partial Notes' Only |
Opera Partial support 51 Partial support 51 Notes' |
Safari
No support No |
WebView Android Partial support 64 Partial support 64 Notes' |
Chrome Android Partial support 64 Partial support 64 Notes' |
Firefox Android
No support No |
Opera Android Partial support 47 Partial support 47 Notes' |
Safari iOS
No support No |
Samsung Internet Android Partial support 9.0 Partial support 9.0 Notes' |
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.
PointerEvent.pointerType by Mozilla Contributors is licensed under CC-BY-SA 2.5.