XRSession: selectend 事件

可用性有限

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

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

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

XRSession 的輸入源結束其 主操作,或者正在處理進行中的主操作的輸入源在未成功完成操作的情況下斷開連線時,會向該 XRSession 傳送 selectend WebXR 事件。

beforexrselect 事件觸發後,會引發此事件,並且可以阻止此事件被觸發。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("selectend", (event) => { })

onselectend = (event) => { }

事件型別

一個 XRInputSourceEvent。繼承自 Event

Event XRInputSourceEvent

事件屬性

除了下面列出的屬性之外,父介面 Event 的屬性也可使用。

frame 只讀

一個 XRFrame 物件,提供有關事件發生的幀所需的關於事件幀的資訊。此幀可能是在過去渲染的,而不是當前幀。由於這是一個*事件*幀,而不是*動畫*幀,因此您不能在其上呼叫 XRFrame 方法 getViewerPose();而是應使用 getPose()

inputSource 只讀

一個 XRInputSource 物件,指示是哪個輸入源生成了此輸入事件。

描述

觸發

當用戶停止按下扳機或按鈕、輕點觸控板、說出命令,或在使用帶有加速計的影片跟蹤系統或手持控制器時執行可識別的手勢時觸發。

用例

selectendselectstart 事件會告知您何時可能需要向用戶顯示指示主操作正在進行的指示。這可能包括以新的顏色繪製啟用按鈕的控制器,或顯示被抓取並四處移動的目標物件,當 selectstart 到達時開始,當收到 selectend 時停止。

select 事件會告知您的程式碼使用者已完成他們想要完成的操作。這可能很簡單,比如在遊戲中扔出一個物體或扣動槍的扳機,也可能很複雜,比如將拖動的物體放置在新位置。

如果您的主要操作是一個簡單的觸發器操作,並且您在觸發器接合期間不需要為任何內容設定動畫,您可以忽略 selectstartselectend 事件,並在開始事件上執行操作。

示例

有關示例程式碼,請參閱 selectstart 事件。

規範

規範
WebXR Device API
# eventdef-xrsession-selectend
WebXR Device API
# dom-xrsession-onselectend

瀏覽器相容性

另見