La Pointer capture (capture de pointeur) permet de re-cibler des événements pour un événement de pointeur particulier (PointerEvent
) vers un élément particulier au lieu de la cible normale à l'emplacement d'un pointeur. Cela peut être utilisé pour garantir qu'un élément continue à recevoir des événements de pointeur même si le contact du périphérique de pointeur se déplace hors de l'élément (par exemple en faisant défiler).
setPointerCapture()
est la méthode de l'interface Element
utilisée pour désigner un élément spécifique comme cible de capture deévènements de pointeur
futurs. Les évènements subséquents du pointeur seront reciblés sur l'élément jusqu'à la libération de la capture (via Element.releasePointerCapture
).
pointerover
, pointerout
pointerenter
et pointerleave
sont uniquement générés lors du franchissement de la limite de l'élément dont la capture est définie, car les autres éléments ne peuvent plus être ciblés par le pointeur. Cela a pour effet de supprimer ces événements sur tous les autres éléments.Syntaxe
targetElement.setPointerCapture(pointerId);
Arguments
- pointerId
- L'
identifiant
pour unévènement de pointeur
.
Valeur de retour
Cette méthode renvoie void
et lance une DOMException
nommée InvalidPointerId
si pointerId
ne correspond à aucun des pointeurs actifs.
Exemple
<html>
<script>
function downHandler(ev) {
var el=document.getElementById("target");
//L'élément cible ('target') recevra/capturera d'autres évènements
el.setPointerCapture(ev.pointerId);
}
function init() {
var el=document.getElementById("target");
el.onpointerdown = downHandler;
}
</script>
<body onload="init();">
<div id="target"> Touch me ... </div>
</body>
</html>
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
Pointer Events – Level 2 La définition de 'setPointerCapture' dans cette spécification. |
Recommendation | Version non stable. |
Pointer Events La définition de 'setPointerCapture' dans cette spécification. |
Obsolete | Définition initiale. |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 35[1] | 59 (59) | 10 -ms 11 |
? | Pas de support |
Fonctionnalité | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | 35[1] | 29.0 (29)[2] | 10 -ms 11 |
? | Pas de support |
[1] Pris en charge dans bug 248918.
[2] Supporté avec la préférence dom.w3c_pointer_events.enabled
par défaut à false
(faux).