XRInputSourcesChangeEvent

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

WebXR Device API 介面 XRInputSourcesChangeEvent 用於表示當可用 WebXR 輸入控制器集發生變化時,傳送到 XRSessioninputsourceschange 事件。

Event XRInputSourcesChangeEvent

建構函式

XRInputSourcesChangeEvent()

建立並返回一個新的 XRInputSourcesChangeEvent 物件。指定的型別必須是 inputsourceschange,這是唯一使用此介面的事件。

例項屬性

added 只讀

一個包含零個或多個 XRInputSource 物件的陣列,每個物件代表一個新連線或啟用使用的輸入裝置。

removed 只讀

一個包含零個或多個 XRInputSource 物件的陣列,代表新連線或啟用使用的輸入裝置。

session 只讀

此輸入源更改事件正在被定向到的 XRSession

例項方法

雖然 XRInputSourcesChangeEvent 本身不定義任何方法,但它繼承了其父介面 Event 的方法。

事件型別

inputsourceschange

當其可用輸入裝置集發生變化時,將傳遞給 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 Device API
# xrinputsourceschangeevent-interface

瀏覽器相容性