[Edge]。→、
要素が Element.setPointerCapture() を使用してポインターをキャプチャしたときに発行されます。
| バブリング | なし |
|---|---|
| キャンセル | 不可 |
| インターフェイス | PointerEvent |
| イベント ハンドラー プロパティ | ongotpointercapture |
この例は <p> 要素を取得し、gotpointercapture イベントを待ち受けします。setPointerCapture() を pointerdown イベントの要素上で呼び出し、gotpointercapture を発生させます。
const para = document.querySelector('p');
document.addEventListener('gotpointercapture', () => {
console.log('I\'ve been captured!')
});
para.addEventListener('pointerdown', (event) => {
para.setPointerCapture(event.pointerId);
});
同じ例:
const para = document.querySelector('p');
document.ongotpointercapture = () => {
console.log('I\'ve been captured!')
};
para.addEventListener('pointerdown', (event) => {
para.setPointerCapture(event.pointerId);
});
HTML:
<SPAN id=IdTest>[SPAN要素。ポインター操作を…]</SPAN><BR> <SPAN id=IdLog></SPAN>
JavaScript:
function JobPD(eve){ //pointerdown イベントの処理:
IdTest.setPointerCapture(eve.pointerId)
IdLog.innerHTML=IdLog.innerHTML +"●";
}
function JobPU(eve){ //pointerup イベントの処理:
IdTest.releasePointerCapture(eve.pointerId)
IdLog.innerHTML=IdLog.innerHTML +"○";
}
function JobGot(eve){ //gotpointercapture イベントの処理:
D=eve; //=[object]:[object PointerEvent]。SPAN要素上でマウス ボタンを押した。
詳細
//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]:402
//screenY=[number]:343
//clientX=[number]:195.5625
//clientY=[number]:268
//ctrlKey=[boolean]:false
//shiftKey=[boolean]:false
//altKey=[boolean]:false
//metaKey=[boolean]:false
//button=[number]:-1
//buttons=[number]:1
//relatedTarget=[object]:null
//pageX=[number]:195.5625
//pageY=[number]:1430
//x=[number]:195.5625
//y=[number]:268
//offsetX=[number]:176.671875
//offsetY=[number]:238.796875
//movementX=[number]:0
//movementY=[number]:0
//fromElement=[object]:null
//toElement=[object]:null
//layerX=[number]:195
//layerY=[number]:1430
//getModifierState=[function]:function getModifierState() { [native code] }
//initMouseEvent=[function]:function initMouseEvent() { [native code] }
//view=[object]:[object Window]
//detail=[number]:0
//sourceCapabilities=[object]:null
//which=[number]:0
//initUIEvent=[function]:function initUIEvent() { [native code] }
//type=[string]:gotpointercapture
//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 +"★";
}
function JobLost(eve){ //lostpointercapture イベントの処理:
DA=eve; //=[object]:[object PointerEvent]。SPAN要素上でマウス ボタンを放した。
詳細
//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]:402
//screenY=[number]:343
//clientX=[number]:195.5625
//clientY=[number]:268
//ctrlKey=[boolean]:false
//shiftKey=[boolean]:false
//altKey=[boolean]:false
//metaKey=[boolean]:false
//button=[number]:0
//buttons=[number]:0
//relatedTarget=[object]:null
//pageX=[number]:195.5625
//pageY=[number]:1430
//x=[number]:195.5625
//y=[number]:268
//offsetX=[number]:176.671875
//offsetY=[number]:238.796875
//movementX=[number]:0
//movementY=[number]:0
//fromElement=[object]:null
//toElement=[object]:null
//layerX=[number]:195
//layerY=[number]:1430
//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.onpointerup=JobPU;
document.ongotpointercapture=JobGot;
document.onlostpointercapture=JobLost;
→HTMLElement:pointerdown、HTMLElement:pointerup、Element.setPointerCapture()。Element.innerHTML