PointerEvent
============

L'interface **`PointerEvent`** représente les données de l'état d'un évènement du DOM produit par un pointeur, tels que la géométrie du point de contact, le type d'appareil qui a généré l'évènement, l'intensité de pression qui a été appliquée au contact de la surface, etc.

Un *pointeur* est une représentation agnostique de tout appareil de saisie (tels qu'une souris, un stylet, ou un point de contact sur une surface tactile). Le pointeur peut cibler des coordonnées spécifiques (ou une collection de coordonnées) sur la surface de contact telle qu'un écran.

Le *test de ciblage* d'un pointeur est le processus qu'un navigateur utilise pour déterminer l'élément pour un évènement de pointeur. Typiquement, cela est déterminé en considérant la position du pointeur ainsi que l'agencement visuel des éléments dans un document sur l'écran.

Constructeurs
-------------

`PointerEvent()` (en-US)

Crée un PointerEvent synthétique et anonyme.

Propriétés
----------

*Cette interface hérite des proprétés de `MouseEvent` et `Event`.*

`PointerEvent.pointerId` (en-US) Lecture seule 

Un identifiant unique pour le pointeur ayant provoqué l'évènement.

`PointerEvent.width` (en-US) Lecture seule 

La largeur (magnitude sur l'axe X), en pixels CSS, de la géométrie de contact du pointeur.

`PointerEvent.height` (en-US) Lecture seule 

La hauteur (magniture sur l'axe Y), en pixels CSS, de la géométrie de contact du pointeur.

`PointerEvent.pressure` (en-US) Lecture seule 

La pressure normalisée de l'influx du pointeur dans un intervalle compris entre 0 et 1, où 0 et 1 représentent respectivement la pression minimale et maximale que l'appareil est capable de détecter.

`PointerEvent.tangentialPressure` (en-US) Lecture seule 

La pression tangentielle normalisée d'un influx de pointeur (également nommée compression ou contrainte cylindrique), où 0 et 1 représentent respectivement la pression minimale et maximale que l'appareil est capable de détecter.

`PointerEvent.tiltX` (en-US) Lecture seule 

Le plan de l'angle (en dégrés, dans un intervalle compris entre -90 et 90) entre le plan Y-Z et le plan contenant à la fois l'axe du transducteur (ex. : un crayon stylet) et l'axe Y.

`PointerEvent.tiltY` (en-US) Lecture seule 

Le plan de l'angle (en dégrés, dans un intervalle compris entre -90 et 90) entre le plan X-Z et le plan contenant à la fois l'axe du transducteur (ex. : un crayon stylet) et l'axe X.

`PointerEvent.twist` (en-US) Lecture seule 

La rotation en degrés et dans le sens des aiguilles d'une montre, d'un transducteur (ex. : crayon stylet) autour de axe principal, avec une valeur comprise dans un intervalle entre 0 et 359.

`PointerEvent.pointerType` (en-US) Lecture seule 

Indique le type d'appareil qui a provoqué l'évènement (souris, stylet, touché, etc.)

`PointerEvent.isPrimary` (en-US) Lecture seule 

Indique si le pointeur est le principal appareil de ce type.

Methods
-------

`PointerEvent.getCoalescedEvents()` (en-US) 
Obsolète

Retourne une séquence de toutes les instances de `PointerEvent` qui ont été dirigées vers l'évènement `pointermove` (en-US) envoyé.

Types d'évènements de pointeur
------------------------------

L'interface `PointerEvent` a plusieurs types d'évènements. Pour déterminer quel évènement s'est produit, regardez la propriété `type` de l'évènement.

**Note :** Il est important de remarquer que dans beaucoup de cas, à la fois les évènements du pointeur et de la souris sont envoyés (afin de laisser la logique interagir avec l'utilisateur même lorsqu'elle n'est pas spécifique à un type de pointeur) . Si vous utilisez les évènements de pointeur, vous devez exécuter `event.preventDefault()` afin d'empêcher l'évènement de la souris d'être également envoyée.

`pointerover` (en-US)

Cet évènement est déclenché lorsqu'un appareil de pointage est déplacé vers la zone du test de ciblage d'un élément.

`pointerenter` (en-US)

Cet évènement est déclenché lorsqu'un appareil de pointage est déplacé vers la zone du test de ciblage d'un élément ou l'un de ses descendants, ce qui inclut un évènement de pointage vers le bas d'un appareil qui ne propose pas de fonctionnalité de survol (voir pointage vers le bas). Ce type d'évènement est similaire à un pointage par dessus, mais se différencie en ne faisant pas circuler l'évènement.

`pointerdown` (en-US)

L'évènement est déclenché lorsqu'un pointeur devient *actif*. Pour une souris, il est déclenché lorsque l'appareil passe d'aucun bouton pressé à au moins un bouton pressé. Pour un touché, il est déclenché lorsqu'un contact physique est effectué avec le numériseur. Pour un stylet, il est déclenché au contact de ce dernier avec le numériseur.

`pointermove` (en-US)

Cet évènement est déclenché lorsqu'un pointeur change de coordonnées.

`pointerup` (en-US)

Cet événement est déclenché lorsqu'un pointeur n'est plus *actif*.

`pointercancel` (en-US)

Un navigateur déclenche cet évènement s'il conclut que le pointeur ne sera plus capable de générer des évènements (par exemple, l'appareil concerné a été désactivé).

`pointerout` (en-US)

Cet évènement est déclenché pour plusieurs raisons qui incluent : l'appareil de pointage est déplacé en dehors de la zone du test de ciblage d'un élément; déclencher l'évènement de pointage vers le haut pour un appareil qui ne supporte pas le survol (voir pointage vers le haut); après avoir déclenché un évènement de pointage annulé (voir pointage annulé); lorsqu'un stylet quitte la zone de portée pour être détectée au survol par le numériseur.

`pointerleave` (en-US)

Cet évènement est déclenché lorsqu'un appareil de pointage est déplacé en dehors de la zone de ciblage d'un élément. Pour les appareils avec un stylet, cet évènement est déclenché lorsque le stylet quitte la zone de portée pour être détectée au survol par le numériseur.

`gotpointercapture`

Cet évènement est déclenché lorsqu'un élément est capturé par un pointeur.

`lostpointercapture` (en-US)

Cet évènement est déclenché après qu'un pointeur ait relâché sa capture.

GlobalEventHandlers
-------------------

`GlobalEventHandlers.onpointerover` (en-US)

Un `global event handler` pour l'événement `pointerover` (en-US).

`GlobalEventHandlers.onpointerenter` (en-US)

Un `global event handler` pour l'événement `pointerenter` (en-US).

`GlobalEventHandlers.onpointerdown` (en-US)

Un `global event handler` pour l'événement `pointerdown` (en-US).

`GlobalEventHandlers.onpointermove` (en-US)

Un `global event handler` pour l'événement `pointermove` (en-US).

`GlobalEventHandlers.onpointerup` (en-US)

Un `global event handler` pour l'événement `pointerup` (en-US).

`GlobalEventHandlers.onpointercancel` (en-US)

Un `global event handler` pour l'événement `pointercancel` (en-US).

`GlobalEventHandlers.onpointerout` (en-US)

Un `global event handler` pour l'événement `pointerout` (en-US).

`GlobalEventHandlers.onpointerleave` (en-US)

Un `global event handler` pour l'événement `pointerleave` (en-US).

Exemple
-------

Un exemple de chaque propriété, type d'évènement, et un gestionnaire d'évènements global sont inclus dans leur page respective de référence.

Spécifications
--------------

| Specification |
| --- |
| Pointer Events # pointerevent-interface |

Compatibilité des navigateurs
-----------------------------

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

Voir aussi
----------

* `Touch Events`
* `GestureEvent`
* `MSGestureEvent`
* `touch-action`