語法
在諸如 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 |
瀏覽器相容性
載入中…