From 91e92a2b405b6bd087e20c41da7e4a1683142340 Mon Sep 17 00:00:00 2001
From: skyclouds2001 <95597335+skyclouds2001@users.noreply.github.com>
Date: Fri, 27 Sep 2024 13:27:13 +0800
Subject: [PATCH 1/2] add
---
.../api/document/pointerlockelement/index.md | 58 +++++++++++++++----
.../shadowroot/pointerlockelement/index.md | 36 ++++++++++++
2 files changed, 83 insertions(+), 11 deletions(-)
create mode 100644 files/zh-cn/web/api/shadowroot/pointerlockelement/index.md
diff --git a/files/zh-cn/web/api/document/pointerlockelement/index.md b/files/zh-cn/web/api/document/pointerlockelement/index.md
index 8a06ab9eafafc9..78de19d33b8d30 100644
--- a/files/zh-cn/web/api/document/pointerlockelement/index.md
+++ b/files/zh-cn/web/api/document/pointerlockelement/index.md
@@ -1,30 +1,66 @@
---
title: Document:pointerLockElement 属性
slug: Web/API/Document/pointerLockElement
+l10n:
+ sourceCommit: c99ff93a1b71e7d664509fdd3e0c168920be967a
---
-{{APIRef("DOM")}}
+{{APIRef("Pointer Lock API")}}
-{{domxref("Document")}} 接口的 `pointerLockElement` 只读属性提供了指针锁定时鼠标事件的目标元素。如果指针处于锁定等待中、指针没有被锁定或目标元素在另外一个文档中,返回 `null`。
+{{domxref("Document")}} 接口的 **`pointerLockElement`** 只读属性提供了指针锁定时鼠标事件的目标元素。如果指针处于锁定等待中、指针没有被锁定或目标元素在另外一个文档中,返回 `null`。
## 值
-一个 {{domxref("Element")}} 或 `null`。
+{{domxref("Element")}} 或 `null`。
## 示例
-确定一个 canvas 元素当前是否被指针锁定。
+### 检查指针锁定状态
-```js
-if (document.pointerLockElement === canvasElement) {
- console.log("指针当前已锁定");
- // 做一些有用的响应
-} else {
- console.log("指针当前已解锁");
- // 做一些有用的响应
+此示例包含一个 {{htmlelement("div")}} 元素,该元素又包含一个 {{htmlelement("button")}}。单击按钮会请求 `
` 的指针锁定。
+
+此示例还监听 {{domxref("Document/pointerlockchange_event", "pointerlockchange")}} 事件:触发此事件时,如果文档中的元素具有指针锁定,则事件处理程序会禁用“锁定”按钮,否则启用该按钮。
+
+这样做的效果是,如果您单击“锁定”按钮,指针将被锁定,按钮将被禁用:如果您随后退出指针锁定(例如,按
Escape 键),按钮将再次启用。
+
+#### HTML
+
+```html
+
+
+
+```
+
+#### CSS
+
+```css
+div {
+ height: 100px;
+ width: 200px;
+ border: 2px solid blue;
}
```
+#### JavaScript
+
+```js
+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("检查指针锁定状态")}}
+
## 规范
{{Specifications}}
diff --git a/files/zh-cn/web/api/shadowroot/pointerlockelement/index.md b/files/zh-cn/web/api/shadowroot/pointerlockelement/index.md
new file mode 100644
index 00000000000000..fd5606eb39b61b
--- /dev/null
+++ b/files/zh-cn/web/api/shadowroot/pointerlockelement/index.md
@@ -0,0 +1,36 @@
+---
+title: ShadowRoot:pointerLockElement 属性
+slug: Web/API/ShadowRoot/pointerLockElement
+l10n:
+ sourceCommit: c99ff93a1b71e7d664509fdd3e0c168920be967a
+---
+
+{{APIRef("Pointer Lock API")}}
+
+{{domxref("ShadowRoot")}} 接口的 **`pointerLockElement`** 只读属性提供在指针锁定时作为鼠标事件目标的元素集。如果指针处于锁定等待中、指针没有被锁定或目标元素在另外一棵树中,则该属性为 `null`。
+
+## 值
+
+{{domxref("Element")}} 或 `null`。
+
+## 示例
+
+```js
+let customElem = document.querySelector("my-shadow-dom-element");
+let shadow = customElem.shadowRoot;
+let pleElem = shadow.pointerLockElement;
+```
+
+## 规范
+
+{{Specifications}}
+
+## 浏览器兼容性
+
+{{Compat}}
+
+## 参见
+
+- {{ domxref("Document.exitPointerLock()") }}
+- {{ domxref("Element.requestPointerLock()") }}
+- [Pointer Lock](/zh-CN/docs/Web/API/Pointer_Lock_API)
From 305d507a1c8af8a50ea1685407ceb41186124917 Mon Sep 17 00:00:00 2001
From: skyclouds2001 <95597335+skyclouds2001@users.noreply.github.com>
Date: Fri, 27 Sep 2024 13:33:03 +0800
Subject: [PATCH 2/2] Update
files/zh-cn/web/api/document/pointerlockelement/index.md
---
files/zh-cn/web/api/document/pointerlockelement/index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/files/zh-cn/web/api/document/pointerlockelement/index.md b/files/zh-cn/web/api/document/pointerlockelement/index.md
index 78de19d33b8d30..7777e7e4f923c9 100644
--- a/files/zh-cn/web/api/document/pointerlockelement/index.md
+++ b/files/zh-cn/web/api/document/pointerlockelement/index.md
@@ -21,7 +21,7 @@ l10n:
此示例还监听 {{domxref("Document/pointerlockchange_event", "pointerlockchange")}} 事件:触发此事件时,如果文档中的元素具有指针锁定,则事件处理程序会禁用“锁定”按钮,否则启用该按钮。
-这样做的效果是,如果您单击“锁定”按钮,指针将被锁定,按钮将被禁用:如果您随后退出指针锁定(例如,按
Escape 键),按钮将再次启用。
+这样做的效果是,如果你单击“锁定”按钮,指针将被锁定,按钮将被禁用:如果你随后退出指针锁定(例如,按
Escape 键),按钮将再次启用。
#### HTML