[Edge]。→、
キャプチャされたポインターが解放されたときに発生します。
| バブリング | ¶あり |
|---|---|
| キャンセル可能 | ¶いいえ |
| インターフェイス | PointerEvent |
| イベント ハンドラー プロパティ |
有効な PointerEvent のプロパティ
このインターフェイスは、MouseEvent および Event からプロパティを継承します。
この例では、要素の lostpointercapture イベントをリッスンし、pointerdown で要素のポインターをキャプチャします。その後、ユーザーがポインターを離すと、lostpointercapture イベントが発生します。
const para = document.querySelector('p');
para.addEventListener('lostpointercapture', () => {
console.log('I\'ve been released!')
});
para.addEventListener('pointerdown', (event) => {
para.setPointerCapture(event.pointerId);
});
同じ例ですが、onlostpointercapture イベント ハンドラー プロパティを使用します。
const para = document.querySelector('p');
para.onlostpointercapture = () => {
console.log('I\'ve been released!')
};
para.addEventListener('pointerdown', (event) => {
para.setPointerCapture(event.pointerId);
});
HTML:
<SPAN id=IdTest>[ここでポインター操作…]</SPAN><BR> <SPAN id=IdLog></SPAN>
JavaScript:
function JobPD(eve){ //pointerdownイベントの処理:クリックまたは、ボタンを押して放しても発生した。
D=eve; //=[object]:[object PointerEvent]。要素でクリック。
詳細
//isTrusted=[boolean]:true
//pointerId=[number]:1
//width=[number]:1
//height=[number]:1
//pressure=[number]:0.5
//tiltX=[number]:0
//tiltY=[number]:0
//azimuthAngle=[number]:0
//altitudeAngle=[number]:1.5707963267948966
//tangentialPressure=[number]:0
//twist=[number]:0
//pointerType=[string]:mouse
//isPrimary=[boolean]:true
//getCoalescedEvents=[function]:function getCoalescedEvents() { [native code] }
//getPredictedEvents=[function]:function getPredictedEvents() { [native code] }
//screenX=[number]:386
//screenY=[number]:274
//clientX=[number]:179.5625
//clientY=[number]:199
//ctrlKey=[boolean]:false
//shiftKey=[boolean]:false
//altKey=[boolean]:false
//metaKey=[boolean]:false
//button=[number]:0
//buttons=[number]:1
//relatedTarget=[object]:null
//pageX=[number]:179.5625
//pageY=[number]:2214
//x=[number]:179.5625
//y=[number]:199
//offsetX=[number]:160.671875
//offsetY=[number]:170.296875
//movementX=[number]:0
//movementY=[number]:0
//fromElement=[object]:null
//toElement=[object]:null
//layerX=[number]:179
//layerY=[number]:2214
//getModifierState=[function]:function getModifierState() { [native code] }
//initMouseEvent=[function]:function initMouseEvent() { [native code] }
//view=[object]:[object Window]
//detail=[number]:0
//sourceCapabilities=[object]:null
//which=[number]:1
//initUIEvent=[function]:function initUIEvent() { [native code] }
//type=[string]:pointerdown
//target=[object]:[object HTMLSpanElement]
//currentTarget=[object]:null
//eventPhase=[number]:0
//bubbles=[boolean]:true
//cancelable=[boolean]:true
//defaultPrevented=[boolean]:false
//composed=[boolean]:true
//…
IdTest.setPointerCapture(eve.pointerId); //ポインターキャプチャー。
}
function Job(eve){
DA=eve; //=[object]:[object PointerEvent]
詳細
//isTrusted=[boolean]:true
//pointerId=[number]:1
//width=[number]:1
//height=[number]:1
//pressure=[number]:0
//tiltX=[number]:0
//tiltY=[number]:0
//azimuthAngle=[number]:0
//altitudeAngle=[number]:1.5707963267948966
//tangentialPressure=[number]:0
//twist=[number]:0
//pointerType=[string]:mouse
//isPrimary=[boolean]:true
//getCoalescedEvents=[function]:function getCoalescedEvents() { [native code] }
//getPredictedEvents=[function]:function getPredictedEvents() { [native code] }
//screenX=[number]:386
//screenY=[number]:274
//clientX=[number]:179.5625
//clientY=[number]:199
//ctrlKey=[boolean]:false
//shiftKey=[boolean]:false
//altKey=[boolean]:false
//metaKey=[boolean]:false
//button=[number]:0
//buttons=[number]:0
//relatedTarget=[object]:null
//pageX=[number]:179.5625
//pageY=[number]:2214
//x=[number]:179.5625
//y=[number]:199
//offsetX=[number]:160.671875
//offsetY=[number]:170.296875
//movementX=[number]:0
//movementY=[number]:0
//fromElement=[object]:null
//toElement=[object]:null
//layerX=[number]:179
//layerY=[number]:2214
//getModifierState=[function]:function getModifierState() { [native code] }
//initMouseEvent=[function]:function initMouseEvent() { [native code] }
//view=[object]:[object Window]
//detail=[number]:0
//sourceCapabilities=[object]:null
//which=[number]:1
//initUIEvent=[function]:function initUIEvent() { [native code] }
//type=[string]:lostpointercapture
//target=[object]:[object HTMLSpanElement]
//currentTarget=[object]:null
//eventPhase=[number]:0
//bubbles=[boolean]:true
//cancelable=[boolean]:false
//defaultPrevented=[boolean]:false
//composed=[boolean]:true
//…
IdLog.innerHTML=IdLog.innerHTML+"●"; //表示。
}
IdTest.onpointerdown=JobPD; //イベント割り当て。
IdTest.onlostpointercapture=Job; //イベント割り当て。
→Element.setPointerCapture()、PointerEvent.pointerId。Element.innerHTML。