Skip to main content

@rtorcato/browser-common / pointerevents

pointerevents

Type Aliases​

PointerEventType​

PointerEventType = "pointerdown" | "pointerup" | "pointermove" | "pointerover" | "pointerout" | "pointerenter" | "pointerleave" | "pointercancel" | "gotpointercapture" | "lostpointercapture"

Defined in: pointerevents/index.ts:16

Pointer event types that can be subscribed to via onPointer.

Functions​

isPointerEventsAvailable()​

isPointerEventsAvailable(): boolean

Defined in: pointerevents/index.ts:9

Checks if the Pointer Events API is available in the current environment.

Example​

import { isPointerEventsAvailable } from '@rtorcato/browser-common/pointerevents'
if (isPointerEventsAvailable()) attachPointerHandlers()

Returns​

boolean


onPointer()​

onPointer(element, type, handler, options?): () => void

Defined in: pointerevents/index.ts:42

Attaches a pointer event listener to an element and returns an unsubscribe function.

Example​

import { onPointer } from '@rtorcato/browser-common/pointerevents'
const off = onPointer(canvas, 'pointerdown', (e) => draw(e.clientX, e.clientY))
off()

Parameters​

element​

Element | Window | Document

The element to listen on.

type​

PointerEventType

The pointer event type (e.g., 'pointerdown', 'pointermove').

handler​

(event) => void

The event handler.

options?​

AddEventListenerOptions

Optional addEventListener options.

Returns​

A function that removes the listener when called.

() => void


getPointerType()​

getPointerType(event): "" | "mouse" | "pen" | "touch"

Defined in: pointerevents/index.ts:65

Returns the input device type that produced a pointer event.

Example​

import { getPointerType } from '@rtorcato/browser-common/pointerevents'
canvas.addEventListener('pointerdown', (e) => {
if (getPointerType(e) === 'pen') startStroke(e)
})

Parameters​

event​

PointerEvent

The PointerEvent.

Returns​

"" | "mouse" | "pen" | "touch"

'mouse', 'pen', 'touch', or '' when unknown.


isPrimaryPointer()​

isPrimaryPointer(event): boolean

Defined in: pointerevents/index.ts:81

Returns true if the pointer event is the primary pointer of its type. Useful for ignoring duplicate touch contacts during multi-touch.

Example​

import { isPrimaryPointer } from '@rtorcato/browser-common/pointerevents'
el.addEventListener('pointerdown', (e) => { if (isPrimaryPointer(e)) startDrag(e) })

Parameters​

event​

PointerEvent

The PointerEvent.

Returns​

boolean