title | short-title | slug | l10n | ||
---|---|---|---|---|---|
Document: pointerLockElement プロパティ |
pointerLockElement |
Web/API/Document/pointerLockElement |
|
{{APIRef("Pointer Lock API")}}
pointerLockElement
は {{domxref("Document")}} インターフェイスの読み取り専用プロパティで、この要素をポインターがロックされている間のマウスイベントの対象として設定します。ロック待ち状態の場合、ポインターがロックされていない場合、対象が他の文書にある場合は null
になります。
{{domxref("Element")}} または null
。
この例には {{htmlelement("div")}} 要素があり、その中に {{htmlelement("button")}} があります。ボタンをクリックすると <div>
のポインターロックをリクエストします。
この例では {{domxref("Document/pointerlockchange_event", "pointerlockchange")}} イベントも待ち受けます。このイベントが発行されると、イベントハンドラーは文書内の要素がポインターロックを保有している場合は "Lock" ボタンを無効化し、そうでない場合はボタンを有効化します。
この例では、"Lock" ボタンをクリックするとポインターがロックされ、ボタンは無効になります。(例えば Escape キーを押して)ポインターロックを解除すると、ボタンは再び有効になります。
<div id="container">
<button id="lock">Lock</button>
</div>
div {
height: 100px;
width: 200px;
border: 2px solid blue;
}
const lock = document.querySelector("#lock");
const container = document.querySelector("#container");
lock.addEventListener("click", () => {
container.requestPointerLock();
});
document.addEventListener("pointerlockchange", () => {
const locked = document.pointerLockElement;
lock.disabled = Boolean(locked);
});
{{EmbedLiveSample("Checking pointer lock status")}}
{{Specifications}}
{{Compat}}
- {{ domxref("Document.exitPointerLock()") }}
- {{ domxref("Element.requestPointerLock()") }}
- ポインターロック