PointerEvent.isPrimary
The isPrimary read-only property of the PointerEvent interface indicates whether or not the pointer device that created the event is the primary pointer. It returns true if the pointer that caused the event to be fired is the primary one and returns false otherwise.
In a multi-pointer scenario (such as a touch screen that supports more than one touch point), this property is used to identify a master pointer among the set of active pointers for each pointer type. Only a primary pointer will produce compatibility mouse events. Authors who desire only single-pointer interaction can achieve that by ignoring non-primary pointers.
A pointer is considered primary if the pointer represents a mouse device. A pointer representing pen input is considered the primary pen input if its pointerdown event was dispatched when no other active pointers representing pen input existed. A pointer representing touch input is considered the primary touch input if its pointerdown event was dispatched when no other active pointers representing touch input existed.
When two or more pointer device types are being used concurrently, multiple pointers (one for each pointerType) are considered primary. For example, a touch contact and a mouse cursor moved simultaneously will produce pointers that are both considered primary. If there are multiple primary pointers, these pointers will all produce compatibility mouse events (see Pointer_events for more information about pointer, mouse and touch interaction).
Syntax
var isPrimary = pointerEvent.isPrimary;
Return value
isPrimary-
Returns
trueif the pointer for this event is the primary pointer and returnsfalseotherwise.
Example
This example illustrates using the value of isPrimary to call the appropriate processing function.
target.addEventListener('pointerdown', function(event) { if (event.isPrimary) process_primary_pointer(event); else process_secondary_pointer(event); }, false);
Specifications
| Specification |
|---|
| Pointer Events # dom-pointerevent-isprimary |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
isPrimary |
55 |
12 |
59
41
|
10 |
42 |
13 |
55 |
55 |
79
41
|
42 |
13 |
6.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary