Mises à jour des événements de pointeur

Les événements de pointeur sont des événements et des interfaces associées qui gèrent les entrées de pointeur sans matériel spécifié à partir de périphériques, tels qu’une souris, un stylet ou un écran tactile. Depuis leur apparition dans Internet Explorer 10, les événements de pointeur sont devenus une spécification W3C (World Wide Web Consortium), grâce aux commentaires et au support des fournisseurs de navigateur et de la communauté de normalisation du Web.

Pour être conforme avec la Candidate Recommendation de la spécification Événements de pointeur du W3C, l’implémentation dans Internet Explorer 11 a légèrement changé par rapport à celle d’Internet Explorer 10.

Suppression du préfixe MS

La spécification sur les événements de pointeur (« Pointer Events ») du W3C n’étant pas terminée lors de la publication d’Internet Explorer 10, des préfixes étaient utilisés pour spécifier l’éditeur lors de l’implémentation des événements de pointeur. Depuis, la spécification a atteint le statut de Candidate Recommendation et les versions de préfixe de fournisseur MS des API sont déconseillées en faveur des signatures non préfixées définies dans la spécification. À compter d’IE11, les versions contenant le préfixe Microsoft des API des événements de pointeur ne sont plus prises en charge et sont susceptibles d’être supprimées dans une version ultérieure.

API déconseilléeAPI de remplacement
Événement MSPointerDownÉvénement pointerdown
Événement MSPointerUpÉvénement pointerup
Événement MSPointerCancel Événement pointercancel
Événement MSPointerMoveÉvénement pointermove
Événement MSPointerOverÉvénement pointerover
Événement MSPointerOutÉvénement pointerout
Événement MSPointerEnterÉvénement pointerenter
Événement MSPointerLeaveÉvénement pointerleave
Événement MSGotPointerCaptureÉvénement gotpointercapture
Événement MSLostPointerCaptureÉvénement lostpointercapture
Propriété CSS -ms-touch-actionPropriété CSS touch-action
Propriété element.style.msTouchActionPropriété element.style.touchAction
Attributs onmspointer*Attributs onpointer*
Méthode element.msSetPointerCapture() Méthode element.setPointerCapture()
Méthode element.msReleasePointerCapture()Méthode element.releasePointerCapture()
msMaxTouchPointsmaxTouchPoints

 

Si votre code utilise des événements de pointeur et que vous avez besoin de garantir la compatibilité avec Internet Explorer 10, vous pouvez utiliser le modèle de secours suivant :


if(window.PointerEvent) {
    elm.addEventListener("pointerdown", foo);
} else if (window.MSPointerEvent) {
    elm.addEventListener("MSPointerDown", foo);
} else {
    elm.addEventListener("mousedown", foo);
}

Mises à jour du comportement

Les détails techniques de la spécification sur les événements de pointeur du W3C ont changé. L’implémentation des événements de pointeur dans IE11 présente les changements de comportement suivants par rapport à l’implémentation d’origine dans Internet Explorer 10.

Zone des événements de pointeur Internet Explorer 10IE11
pointerenter
pointerleave
Non pris en chargePris en charge
PointerEvent.button
PointerEvent.buttons
Bouton gomme du stylet non pris en chargePrend en charge le bouton gomme du stylet
PointerEvent.pressure Retourne toujours une valeur égale à 0 sur du matériel qui ne prend pas en charge les appuisRetourne une valeur de 0,5 pour un contact actif (par exemple un appui sur un bouton de souris) et 0 dans le cas contraire sur du matériel qui ne prend pas en charge les appuis
PointerEvent.height
PointerEvent.width
Retourne des valeurs en pixels écranRetourne des valeurs en pixels de document CSS
click
contextmenu
dblclick
Répartit MouseEventRépartit PointerEvent (hérite de MouseEvent)
PointerEvent.pointerType Retourne une valeur entièreRetourne une valeur de chaîne
releasePointerCapture En cas d’appel sur un élément, libère la capture pour le pointeur spécifié de l’élément ayant actuellement la captureLibère uniquement le pointeur si l’élément appelant a déjà réalisé la capture (avec setPointerCapture)
MSPointerHover Pris en charge (est déclenché quand un stylet passe sur un élément sans toucher la surface)Non pris en charge (n’est pas déclenché). Utilisezpointermove et inspectez la propriété event.buttons pour déterminer si le pointeur effectue un pointage. D’autres comportements de pointage, comme CSS :hover, sont encore appliqués.
pointermove Pour les stylets, est déclenché uniquement quand la surface est touchée (pas pour un pointage)Est déclenché pour tous les mouvements du stylet (pointage ou non)
pointerEnabled Pris en charge avec préfixe de fournisseur (msPointerEnabled)Pris en charge sans préfixe (pointerEnabled), mais désormais remplacé par l’interface window.PointerEvent pour la détection de fonctionnalités.

 

 

 

Afficher:
© 2014 Microsoft