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.

Returns

boolean

Example

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

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.

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

Example

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

getPointerType()

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

Defined in: pointerevents/index.ts:65

Returns the input device type that produced a pointer event.

Parameters

event

PointerEvent

The PointerEvent.

Returns

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

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

Example

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

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.

Parameters

event

PointerEvent

The PointerEvent.

Returns

boolean

Example

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