文档:pointerlockchange 事件

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

当指针被锁定/解锁时,会触发 pointerlockchange 事件。

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

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

语法

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

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

onpointerlockchange = (event) => { }

事件类型

一个通用的 Event

示例

使用 addEventListener()

js
addEventListener("pointerlockchange", (event) => {
  if (document.pointerLockElement)
    console.log("The pointer is locked to: ", document.pointerLockElement);
  else {
    console.log("The pointer is not locked");
  }
});

使用 onpointerlockchange 事件处理程序属性

js
document.onpointerlockchange = (event) => {
  if (document.pointerLockElement)
    console.log("The pointer is locked to: ", document.pointerLockElement);
  else {
    console.log("The pointer is not locked");
  }
};

规范

规范
指针锁定 2.0
# pointerlockchange-and-pointerlockerror-events
指针锁定 2.0
# dom-document-onpointerlockchange

浏览器兼容性

另见