XRInputSourcesChangeEvent - 表示可用的 WebXR 输入控制器发生更改的事件
XRInputSourcesChangeEvent 是 WebXR 设备 API 的接口,用于表示当可用的 WebXR 输入控制器发生更改时,发送给 XRSession 的 inputsourceschange 事件。
构造函数
XRInputSourcesChangeEvent()
创建并返回一个新的 XRInputSourcesChangeEvent 对象,该对象的配置由给定的 XRInputSourcesChangeEventInit 对象表示。指定的类型必须是 inputsourceschange,这是使用此接口的唯一事件。
属性
added 只读
零个或多个 XRInputSource 对象的数组,每个对象代表新连接或启用的输入设备。
removed 只读
零个或多个 XRInputSource 对象的数组,它们表示不再可用的输入设备。
session 只读
此输入源更改事件定向到的 XRSession。
方法
虽然 XRInputSourcesChangeEvent 没有定义自己的方法,但它从其父接口 Event 继承了方法。
事件类型
inputsourceschange
当可用的输入设备集发生更改时,将传递给 XRSession。
实例
下面的实例演示如何设置一个事件处理程序,该事件处理程序使用 inputsourceschange 事件来检测新可用的指针设备并加载其模型,以准备在下一动画帧中显示它们。
xrSession.addEventListener("inputsourceschange", onInputSourcesChange);
function onInputSourcesChange(event) {
for (let input of event.added) {
if (input.targetRayMode == "tracked-pointer") {
loadControllerMesh(input);
}
}
}
您还可以通过设置 oninputsourceschange 事件处理程序来为 inputsourceschange 事件添加处理程序:
xrSession.oninputsourceschange = onInputSourcesChange;
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| WebXR Device API XRInputSourcesChangeEvent 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
XRInputSourcesChangeEvent() 构造函数 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
added | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
removed | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
session | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
XRInputSourcesChangeEvent() 构造函数 | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
added | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
removed | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
session | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |