XRInputSourcesChangeEvent

可用性有限

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

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

WebXR Device API 接口 XRInputSourcesChangeEvent 用于表示当可用 WebXR 输入控制器集发生变化时,发送到 XRSessioninputsourceschange 事件。

Event XRInputSourcesChangeEvent

构造函数

XRInputSourcesChangeEvent()

创建并返回一个新的 XRInputSourcesChangeEvent 对象。指定的类型必须是 inputsourceschange,这是唯一使用此接口的事件。

实例属性

added 只读

一个包含零个或多个 XRInputSource 对象的数组,每个对象代表一个新连接或启用使用的输入设备。

removed 只读

一个包含零个或多个 XRInputSource 对象的数组,代表新连接或启用使用的输入设备。

session 只读

此输入源更改事件正在被定向到的 XRSession

实例方法

虽然 XRInputSourcesChangeEvent 本身不定义任何方法,但它继承了其父接口 Event 的方法。

事件类型

inputsourceschange

当其可用输入设备集发生变化时,将传递给 XRSession

示例

以下示例展示了如何设置一个事件处理程序,该处理程序使用 inputsourceschange 事件来检测新可用的指向设备,并在下一个动画帧中显示它们之前加载它们的模型。

js
xrSession.addEventListener("inputsourceschange", onInputSourcesChange);

function onInputSourcesChange(event) {
  for (const input of event.added) {
    if (input.targetRayMode === "tracked-pointer") {
      loadControllerMesh(input);
    }
  }
}

您还可以通过设置 oninputsourceschange 事件处理程序来添加 inputsourceschange 事件的监听器。

js
xrSession.oninputsourceschange = onInputSourcesChange;

规范

规范
WebXR Device API
# xrinputsourceschangeevent-interface

浏览器兼容性