XRInputSourcesChangeEvent

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在一些或所有支持的浏览器中。

WebXR 设备 API 接口XRInputSourcesChangeEvent 用于表示发送到XRSessioninputsourceschange事件,当可用的 WebXR 输入控制器集发生更改时。

Event XRInputSourcesChangeEvent

构造函数

XRInputSourcesChangeEvent()

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

实例属性

添加 只读

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

移除 只读

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

会话 只读

此输入源更改事件所指向的XRSession

实例方法

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

事件类型

inputsourceschange

当可用于XRSession的输入设备集发生更改时,将传递到该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 设备 API
# xrinputsourceschangeevent-interface

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。