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 device 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
true
if the pointer for this event is the primary pointer and returnsfalse
otherwise.
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 | Status | Comment |
Pointer Events – Level 2The definition of 'isPrimary' in that specification. | Recommendation | Non-stable version. |
Pointer EventsThe definition of 'isPrimary' in that specification. | Obsolete | Initial definition. |
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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
isPrimary
|
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 10 |
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 |
Legend
- Full support
- Full support
- User must explicitly enable this feature.'
- User must explicitly enable this feature.
PointerEvent.isPrimary by Mozilla Contributors is licensed under CC-BY-SA 2.5.