语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("inputsourceschange", (event) => { })
oninputsourceschange = (event) => { }
事件类型
一个 XRInputSourcesChangeEvent。继承自 Event。
事件属性
除了下面列出的属性之外,父接口 Event 的属性也可使用。
added只读-
一个零个或多个
XRInputSource对象的数组,每个对象代表最近连接或启用的输入设备。 removed只读-
一个零个或多个
XRInputSource对象的数组,代表最近断开连接或禁用的输入设备。 session只读-
此输入源更改事件正在定向的
XRSession。
描述
触发
当可用的 WebXR 输入设备集合发生变化时触发。
用例
您可以使用此事件来检测新可用的设备或设备何时变得不可用。
示例
以下示例显示了如何设置一个事件处理程序,该处理程序使用 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 # eventdef-xrsession-inputsourceschange |
| WebXR Device API # dom-xrsession-oninputsourceschange |
浏览器兼容性
加载中…