Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Element : méthode setPointerCapture()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2020.

La méthode setPointerCapture() de l'interface Element est utilisée pour désigner un élément spécifique comme cible de capture des futurs évènements de pointeur. Les évènements ultérieurs pour le pointeur sont ciblés sur l'élément de capture jusqu'à ce que la capture soit libérée (avec Element.releasePointerCapture() ou l'évènement pointerup).

Voir les évènements de pointeur pour un aperçu et des exemples de fonctionnement de la capture de pointeur.

Syntaxe

js
setPointerCapture(pointerId)

Paramètres

pointerId

Un pointerId d'un objet PointerEvent.

Valeur de retour

Aucune (undefined).

Exceptions

NotFoundError DOMException

Levée si pointerId ne correspond à aucun pointeur actif.

Exemples

Cet exemple définit la capture du pointeur sur un <div> lorsque vous appuyez dessus. Cela vous permet de faire defiler l'élément horizontalement, même lorsque votre pointeur se déplace en dehors de ses limites.

HTML

html
<div id="glissiere">GLISSEZ-MOI</div>

CSS

css
div {
  width: 140px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffbbee;
  touch-action: none;
}

JavaScript

js
const glissiere = document.getElementById("glissiere");

function demarrerGlissement(e) {
  glissiere.onpointermove = defiler;
  glissiere.setPointerCapture(e.pointerId);
}

function arreterGlissement(e) {
  glissiere.onpointermove = null;
  glissiere.releasePointerCapture(e.pointerId);
}

function defiler(e) {
  glissiere.style.transform = `translate(${e.clientX - 70}px)`;
}

glissiere.onpointerdown = demarrerGlissement;
glissiere.onpointerup = arreterGlissement;

Résultat

Spécifications

Spécification
Pointer Events
# dom-element-setpointercapture

Compatibilité des navigateurs

Voir aussi