Документ: свойство pointerLockElement
Ограниченная доступность
Эта функция не является базовой, поскольку она не работает во всех наиболее широко используемых браузерах.
Чтение только свойство pointerLockElement интерфейса Document предоставляет элемент, установленный в качестве цели для событий мыши, когда указатель заблокирован. Оно null если блокировка ожидает обработки, указатель разблокирован или целевой элемент находится в другом документе.
Значение
Элемент Element или null.
Примеры
Проверка состояния блокировки указателя
В этом примере содержится элемент <div>, который, в свою очередь, содержит элемент <button>. Нажатие кнопки запрашивает блокировку указателя для элемента <div>.
Пример также прослушивает событие pointerlockchange: когда это событие срабатывает, обработчик событий отключает кнопку "Заблокировать", если элемент в документе имеет блокировку указателя, и включает кнопку в противном случае.
В результате, если вы нажмёте кнопку "Заблокировать", указатель заблокируется, и кнопка станет неактивной: если вы выйдете из режима блокировки указателя (например, нажав клавишу Escape), кнопка снова станет активной.
HTML
<div id="container"> <button id="lock">Lock</button> </div>
CSS
div {
height: 100px;
width: 200px;
border: 2px solid blue;
}
JavaScript
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);
});
Результат
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
pointerLockElement |
37 | 13 | 5014–50 | 24 | 10.1 | 37 | 5014–50 | 24 | Нет | 3.0 | 37 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/pointerLockElement