Document:pointerlockchange 事件

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

pointerlockchange 事件在指针被锁定/解锁时触发。

事件处理器可以使用 Document.pointerLockElement 来确定指针是否被锁定,如果是,则确定哪个元素被锁定。

此事件不可取消,也不会冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理器属性。

js
addEventListener("pointerlockchange", (event) => {});

onpointerlockchange = (event) => {};

事件类型

通用的 Event

示例

使用 addEventListener()

js
addEventListener("pointerlockchange", (event) => {
  if (document.pointerLockElement)
    console.log("指针被锁定到:", document.pointerLockElement);
  else {
    console.log("指针未锁定");
  }
});

使用 onpointerlockchange 事件处理器属性:

js
document.onpointerlockchange = (event) => {
  if (document.pointerLockElement)
    console.log("指针被锁定到:", document.pointerLockElement);
  else {
    console.log("指针未锁定");
  }
};

规范

Specification
Pointer Lock 2.0
# pointerlockchange-and-pointerlockerror-events
Pointer Lock 2.0
# dom-document-onpointerlockchange

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
pointerlockchange event

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Requires a vendor prefix or different name for use.
Has more compatibility info.

参见