web api instance method
Element: setPointerCapture() method
The setPointerCapture() method of the
Element interface is used to designate a specific element as the
capture target of future pointer events. Subsequent events for the pointer will
be targeted at the capture element until capture is released (via
releasePointerCapture() or the
pointerup event is fired).
See pointer events for an overview and examples of how pointer capture works.
Syntax
setPointerCapture(pointerId)
Parameters
pointerId- : The
pointerIdof aPointerEventobject.
- : The
Return value
None (undefined).
Exceptions
NotFoundErrorDOMException- : Thrown if
pointerIddoes not match any active pointer.
- : Thrown if
Examples
This example sets pointer capture on a <div> when you press down on
it. This lets you slide the element horizontally, even when your pointer moves outside of
its boundaries.
HTML
<div id="slider">SLIDE ME</div>
CSS
div {
width: 140px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
background: #ffbbee;
touch-action: none;
}
JavaScript
const slider = document.getElementById("slider");
function beginSliding(e) {
slider.onpointermove = slide;
slider.setPointerCapture(e.pointerId);
}
function stopSliding(e) {
slider.onpointermove = null;
slider.releasePointerCapture(e.pointerId);
}
function slide(e) {
slider.style.transform = `translate(${e.clientX - 70}px)`;
}
slider.onpointerdown = beginSliding;
slider.onpointerup = stopSliding;
Result
Interactive exampleOpen the canonical MDN source to run this embedded demo.
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.