Element: touchcancel event
==========================

The `touchcancel` event is fired when one or more touch points have been disrupted in an implementation-specific manner.

Some examples of situations that will trigger a `touchcancel` event:

* A hardware event occurs that cancels the touch activities. This may include, for example, the user switching applications using an application switcher interface or the "home" button on a mobile device.
* The device's screen orientation is changed while the touch is active.
* The browser decides that the user started touch input accidentally. This can happen if, for example, the hardware supports palm rejection to prevent a hand resting on the display while using a stylus from accidentally triggering events.
* The `touch-action` CSS property prevents the input from continuing.
* When the user interacts with too many fingers simultaneously, the browser can fire this event for all existing pointers (even if the user is still touching the screen).
Syntax
------

Use the event name in methods like `addEventListener()`, or set an event handler property.


```js
addEventListener("touchcancel", (event) => {});

ontouchcancel = (event) => {};
```

Event type
----------

A `TouchEvent`. Inherits from `Event`.

Event

UIEvent

TouchEventEvent properties
----------------

*This interface inherits properties from its parent, `UIEvent` and `Event`.*

`TouchEvent.altKey` Read only 

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

`TouchEvent.changedTouches` Read only 

A `TouchList` of all the `Touch` objects representing individual points of contact whose states changed between the previous touch event and this one.

`TouchEvent.ctrlKey` Read only 

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

`TouchEvent.metaKey` Read only 

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

`TouchEvent.shiftKey` Read only 

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

`TouchEvent.targetTouches` Read only 

A `TouchList` of all the `Touch` objects that are both currently in contact with the touch surface **and** were also started on the same element that is the target of the event.

`TouchEvent.touches` Read only 

A `TouchList` of all the `Touch` objects representing all current points of contact with the surface, regardless of target or changed status.

`TouchEvent.rotation` 
Non-standard
 Read only 

Change in rotation (in degrees) since the event's beginning. Positive values indicate clockwise rotation; negative values indicate counterclockwise rotation. Initial value: `0.0`.

`TouchEvent.scale` 
Non-standard
 Read only 

Distance between two digits since the event's beginning. Expressed as a floating-point multiple of the initial distance between the digits at the beginning of the event. Values below 1.0 indicate an inward pinch (zoom out). Values above 1.0 indicate an outward unpinch (zoom in). Initial value: `1.0`.

Examples
--------

Code samples for those events are available on the dedicated page: Touch events.

Specifications
--------------

| Specification |
| --- |
| Touch Events # event-touchcancel |
| Touch Events # dom-globaleventhandlers-ontouchcancel |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* This event on `Document` targets: `touchcancel`