PointerEvent

@native @JSGlobal @JSType
class PointerEvent(typeArg: String, pointerEventInit: UndefOr[PointerEventInit]) extends MouseEvent

Most of today's web content assumes the user's pointing device will be a mouse. However, since many devices support other types of pointing input devices, such as pen/stylus and touch surfaces, extensions to the existing pointing device event models are needed and pointer events address that need.

Pointer events are DOM events that are fired for a pointing device. They are designed to create a single DOM event model to handle pointing input devices such as a mouse, pen/stylus or touch (such as one or more fingers). The pointer is a hardware-agnostic device that can target a specific set of screen coordinates. Having a single event model for pointers can simplify creating Web sites and applications and provide a good user experience regardless of the user's hardware. However, for scenarios when device-specific handling is desired, pointer events defines a property to inspect the device type which produced the event.

The events needed to handle generic pointer input are analogous to mouse events (mousedown/pointerdown, mousemove/pointermove, etc.). Consequently, pointer event types are intentionally similar to mouse event types. Additionally, a pointer event contains the usual properties present in mouse events (client coordinates, target element, button states, etc.) in addition to new properties for other forms of input: pressure, contact geometry, tilt, etc. In fact, the PointerEvent interface inherits all of the MouseEvent's properties thus facilitating migrating content from mouse events to pointer events.

class UIEvent
class Event
class Object
trait Any
class Object
trait Matchable
class Any

Value members

Constructors

def this(typeArg: String)

Concrete methods

def height: Double

The height read-only property of the PointerEvent interface represents the height of the pointer's contact geometry, along the Y axis (in CSS pixels). Depending on the source of the pointer device (for example a finger), for a given pointer, each event may produce a different value.

The height read-only property of the PointerEvent interface represents the height of the pointer's contact geometry, along the Y axis (in CSS pixels). Depending on the source of the pointer device (for example a finger), for a given pointer, each event may produce a different value.

def isPrimary: Boolean

Indicates if the pointer represents the primary pointer of this pointer type.

Indicates if the pointer represents the primary pointer of this pointer type.

In some scenarios there may be multiple pointers (for example a device with both a touchscreen and a mouse) or a pointer supports multiple contact points (for example a touchscreen that supports multiple finger touches). The application can use the isPrimary property to identify a master pointer among the set of active pointers for each pointer type. If an application only wants to support a primary pointer, it can ignore all pointer events that are not primary.

For mouse there is only one pointer, so it will always be the primary pointer. For touch input, a pointer is considered primary if the user touched the screen when there were no other active touches. For pen and stylus input, a pointer is considered primary if the user's pen initially contacted the screenwhen there were no other active pens contacting the screen.

def pointerId: Double

An identifier assigned to a pointer event that is unique from the identifiers of all active pointer events at the time. Authors cannot assume values convey any particular meaning other than an identifier for the pointer that is unique from all other active pointers.

An identifier assigned to a pointer event that is unique from the identifiers of all active pointer events at the time. Authors cannot assume values convey any particular meaning other than an identifier for the pointer that is unique from all other active pointers.

def pointerType: String

The pointerType read-only property of the PointerEvent interface indicates the device type that caused the pointer event. The supported values are the following strings:

The pointerType read-only property of the PointerEvent interface indicates the device type that caused the pointer event. 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.

def pressure: Double

The normalized pressure of the pointer input in the range of 0 to 1, where 0 and 1 represent the minimum and maximum pressure the hardware is capable of detecting, respectively.

The normalized pressure of the pointer input in the range of 0 to 1, where 0 and 1 represent the minimum and maximum pressure the hardware is capable of detecting, respectively.

For hardware that does not support pressure, including but not limited to mouse, the value MUST be 0.5 when the pointer is active and 0 otherwise.

def tangentialPressure: Double

The tangentialPressure read-only property of the PointerEvent interface represents the normalized tangential pressure of the pointer input (also known as barrel pressure or cylinder stress) in the range -1 to 1, where 0 is the neutral position of the control.

The tangentialPressure read-only property of the PointerEvent interface represents the normalized tangential pressure of the pointer input (also known as barrel pressure or cylinder stress) in the range -1 to 1, where 0 is the neutral position of the control.

Note that some hardware may only support positive values in the range 0 to 1. For hardware that does not support tangential pressure, the value will be 0.

def tiltX: Double

This property is the angle (in degrees) between the Y-Z plane of the pointer and the screen. This property is typically only useful for a pen/stylus pointer type. The range of values is -90 to 90 degrees and a positive value means a tilt to the right. For devices that do not support this property, the value is 0.

This property is the angle (in degrees) between the Y-Z plane of the pointer and the screen. This property is typically only useful for a pen/stylus pointer type. The range of values is -90 to 90 degrees and a positive value means a tilt to the right. For devices that do not support this property, the value is 0.

def tiltY: Double

This property is the angle (in degrees) between the X-Z plane of the pointer and the screen. This property is typically only useful for a pen/stylus pointer type. The range of values is -90 to 90 degrees and a positive value is a tilt toward the user. For devices that do not support this property, the value is 0.

This property is the angle (in degrees) between the X-Z plane of the pointer and the screen. This property is typically only useful for a pen/stylus pointer type. The range of values is -90 to 90 degrees and a positive value is a tilt toward the user. For devices that do not support this property, the value is 0.

def twist: Double

The twist read-only property of the PointerEvent interface represents the clockwise rotation of the transducer (e.g. pen stylus) around its major axis in degrees, with a value in the range 0 to 359.

The twist read-only property of the PointerEvent interface represents the clockwise rotation of the transducer (e.g. pen stylus) around its major axis in degrees, with a value in the range 0 to 359.

For devices that do not report twist, the value MUST be 0.

def width: Double

The width read-only property of the PointerEvent interface represents the width of the pointer's contact geometry along the x-axis, measured in CSS pixels. Depending on the source of the pointer device (such as a finger), for a given pointer, each event may produce a different value.

The width read-only property of the PointerEvent interface represents the width of the pointer's contact geometry along the x-axis, measured in CSS pixels. Depending on the source of the pointer device (such as a finger), for a given pointer, each event may produce a different value.

Inherited methods

def `type`: String
Inherited from:
Event
def altKey: Boolean

The altKey property indicates if the alt key was pressed (true) or not (false) when the event occurred.

The altKey property indicates if the alt key was pressed (true) or not (false) when the event occurred.

Inherited from:
ModifierKeyEvent
def bubbles: Boolean

A boolean indicating whether the event bubbles up through the DOM or not.

A boolean indicating whether the event bubbles up through the DOM or not.

Inherited from:
Event
def button: Int

The button property indicates which button was pressed on the mouse to trigger the event.

The button property indicates which button was pressed on the mouse to trigger the event.

Inherited from:
MouseEvent
def buttons: Int

The buttons property indicates which buttons were pressed on the mouse to trigger the event.

The buttons property indicates which buttons were pressed on the mouse to trigger the event.

Inherited from:
MouseEvent
def cancelBubble: Boolean

A boolean indicating whether the bubbling of the event has been canceled or not.

A boolean indicating whether the bubbling of the event has been canceled or not.

Inherited from:
Event
def cancelable: Boolean

A boolean indicating whether the event is cancelable.

A boolean indicating whether the event is cancelable.

Inherited from:
Event
def clientX: Double

The clientX property provides the X coordinate of the mouse pointer in local (DOM content) coordinates.

The clientX property provides the X coordinate of the mouse pointer in local (DOM content) coordinates.

Inherited from:
MouseEvent
def clientY: Double

The clientY property provides the Y coordinate of the mouse pointer in local (DOM content) coordinates.

The clientY property provides the Y coordinate of the mouse pointer in local (DOM content) coordinates.

Inherited from:
MouseEvent
def composed: Boolean

Indicates whether or not the event will propagate across the shadow DOM boundary into the standard DOM.

Indicates whether or not the event will propagate across the shadow DOM boundary into the standard DOM.

Inherited from:
Event
def ctrlKey: Boolean

A Boolean value indicating whether or not the control key was down when the touch event was fired. Read only.

A Boolean value indicating whether or not the control key was down when the touch event was fired. Read only.

Inherited from:
ModifierKeyEvent

Identifies the current target for the event, as the event traverses the DOM. It always refers to the element the event handler has been attached to as opposed to event.target which identifies the element on which the event occurred.

Identifies the current target for the event, as the event traverses the DOM. It always refers to the element the event handler has been attached to as opposed to event.target which identifies the element on which the event occurred.

Inherited from:
Event
def defaultPrevented: Boolean

Returns a boolean indicating whether or not event.preventDefault() was called on the event.

Returns a boolean indicating whether or not event.preventDefault() was called on the event.

Inherited from:
Event
def detail: Int

Detail about the event, depending on the type of event. Read only.

Detail about the event, depending on the type of event. Read only.

Inherited from:
UIEvent
def eventPhase: Int

Indicates which phase of the event flow is currently being evaluated.

Indicates which phase of the event flow is currently being evaluated.

Inherited from:
Event
def getModifierState(keyArg: String): Boolean

Returns the current state of the specified modifier key. See the KeyboardEvent.getModifierState() documentation for details.

Returns the current state of the specified modifier key. See the KeyboardEvent.getModifierState() documentation for details.

Inherited from:
MouseEvent
def hasOwnProperty(v: String): Boolean
Inherited from:
Object
def isPrototypeOf(v: Object): Boolean
Inherited from:
Object
def isTrusted: Boolean

Indicates whether or not the event was initiated by the browser (after a user click for instance) or by a script (using an event creation method, like event.initEvent)

Indicates whether or not the event was initiated by the browser (after a user click for instance) or by a script (using an event creation method, like event.initEvent)

Inherited from:
Event
def metaKey: Boolean

The metaKey property indicates if the meta key was pressed (true) or not (false) when the event occurred.

The metaKey property indicates if the meta key was pressed (true) or not (false) when the event occurred.

Inherited from:
ModifierKeyEvent
def movementX: Double

Provides the difference in the X coordinate of the mouse pointer between the given event and the previous mousemove event

Provides the difference in the X coordinate of the mouse pointer between the given event and the previous mousemove event

Inherited from:
MouseEvent
def movementY: Double

Provides the difference in the Y coordinate of the mouse pointer between the given event and the previous mousemove event

Provides the difference in the Y coordinate of the mouse pointer between the given event and the previous mousemove event

Inherited from:
MouseEvent
def pageX: Double

The pageX property is an integer value in pixels for the X coordinate of the mouse pointer, relative to the whole document, when the mouse event fired. This property takes into account any horizontal scrolling of the page.

The pageX property is an integer value in pixels for the X coordinate of the mouse pointer, relative to the whole document, when the mouse event fired. This property takes into account any horizontal scrolling of the page.

Inherited from:
MouseEvent
def pageY: Double

The pageY property is an integer value in pixels for the Y coordinate of the mouse pointer, relative to the whole document, when the mouse event fired. This property takes into account any vertical scrolling of the page.

The pageY property is an integer value in pixels for the Y coordinate of the mouse pointer, relative to the whole document, when the mouse event fired. This property takes into account any vertical scrolling of the page.

Inherited from:
MouseEvent
def preventDefault(): Unit

Cancels the event if it is cancelable, without stopping further propagation of the event.

Cancels the event if it is cancelable, without stopping further propagation of the event.

Inherited from:
Event
def propertyIsEnumerable(v: String): Boolean
Inherited from:
Object

The relatedTarget property is the secondary target for the event, if there is one.

The relatedTarget property is the secondary target for the event, if there is one.

Inherited from:
MouseEvent
def screenX: Double

The screenX property provides the X coordinate of the mouse pointer in global (screen) coordinates.

The screenX property provides the X coordinate of the mouse pointer in global (screen) coordinates.

Inherited from:
MouseEvent
def screenY: Double

The screenY property provides the Y coordinate of the mouse pointer in global (screen) coordinates.

The screenY property provides the Y coordinate of the mouse pointer in global (screen) coordinates.

Inherited from:
MouseEvent
def shiftKey: Boolean

A Boolean value indicating whether or not the shift key was down when the touch event was fired. Read only.

A Boolean value indicating whether or not the shift key was down when the touch event was fired. Read only.

Inherited from:
ModifierKeyEvent

For this particular event, no other listener will be called. Neither those attached on the same element, nor those attached on elements which will be traversed later (in capture phase, for instance)

For this particular event, no other listener will be called. Neither those attached on the same element, nor those attached on elements which will be traversed later (in capture phase, for instance)

Inherited from:
Event
def stopPropagation(): Unit

Stops the propagation of events further along in the DOM.

Stops the propagation of events further along in the DOM.

Inherited from:
Event

This property of event objects is the object the event was dispatched on. It is different than event.currentTarget when the event handler is called in bubbling or capturing phase of the event.

This property of event objects is the object the event was dispatched on. It is different than event.currentTarget when the event handler is called in bubbling or capturing phase of the event.

Inherited from:
Event
def timeStamp: Double

Returns the time (in milliseconds since the epoch) at which the event was created.

Returns the time (in milliseconds since the epoch) at which the event was created.

Inherited from:
Event
def toLocaleString(): String
Inherited from:
Object
def valueOf(): Any
Inherited from:
Object

A view which generated the event. Read only.

A view which generated the event. Read only.

Inherited from:
UIEvent