--- title: Element.releasePointerCapture() slug: Web/API/Element/releasePointerCapture tags: - API - DOM - Element - Method - PointerEvent - Reference translation_of: Web/API/Element/releasePointerCapture ---
{{domxref("Element")}} インターフェイスの releasePointerCapture()
メソッドは、特定の({{domxref("PointerEvent")}})ポインタに対して以前に設定されたポインタキャプチャを解放(停止)します。
ポインタキャプチャの説明と特定の要素に設定する方法については、{{domxref("Element.setPointerCapture","Element.setPointerCapture()")}} メソッドを参照してください。
targetElement.releasePointerCapture(pointerId);
pointerId
このメソッドは undefined
を返します。
例外 | 説明 |
---|---|
InvalidPointerId |
pointerId は、どのアクティブポインタとも一致しません。 |
この例では、{{HtmlElement("div")}} を押下するとポインタキャプチャが設定されます。 これにより、ポインタをその境界の外側に移動した場合でも、要素を水平方向にスライドさせることができます。
<div id="slider">SLIDE ME</div>
div { width: 140px; height: 50px; display: flex; align-items: center; justify-content: center; background: #fbe; }
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)`; } const slider = document.getElementById('slider'); slider.onpointerdown = beginSliding; slider.onpointerup = stopSliding;
{{EmbedLiveSample("Example")}}
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Pointer Events 2','#idl-def-element-releasepointercapture-pointerid', 'releasePointerCapture')}} | {{Spec2('Pointer Events 2')}} | 不安定版 |
{{SpecName('Pointer Events', '#idl-def-element-releasepointercapture-pointerid', 'releasePointerCapture')}} | {{Spec2('Pointer Events')}} | 初期定義 |
{{Compat("api.Element.releasePointerCapture")}}