title | short-title | slug | l10n | ||
---|---|---|---|---|---|
Element: releasePointerCapture() メソッド |
releasePointerCapture() |
Web/API/Element/releasePointerCapture |
|
{{APIRef("DOM")}}
releasePointerCapture()
は {{domxref("Element")}} インターフェイスのメソッドで、特定の({{domxref("PointerEvent")}} の)ポインターに対して以前に設定されたポインターキャプチャを解放(停止)します。
ポインターキャプチャの説明と特定の要素に設定する方法については、{{domxref("Element.setPointerCapture","Element.setPointerCapture()")}} メソッドを参照してください。
releasePointerCapture(pointerId)
pointerId
- : {{domxref("PointerEvent")}} オブジェクトの {{domxref("PointerEvent.pointerId", "pointerId")}}。
なし ({{jsxref("undefined")}})。
例外 | 説明 |
---|---|
InvalidPointerId |
pointerId がどのアクティブなポインターとも一致しない場合。 |
この例では、{{HtmlElement("div")}} を押下するとポインターキャプチャが設定されます。 これにより、ポインターをその境界の外側に移動した場合でも、要素を水平方向にスライドさせることができます。
<div id="slider">スライドしてね</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("Examples")}}
{{Specifications}}
{{Compat}}
- {{ domxref("Element.setPointerCapture","Element.setPointerCapture()") }}
- {{domxref("Pointer_events","ポインターイベント", "", 1)}}