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 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |