PointerEvent.pointerType

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 supported`);
  }
}, 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

BCD tables only load in the browser