XRSession: inputsourceschange-Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Das inputsourceschange
-Ereignis wird an eine XRSession
gesendet, wenn sich die verfügbare Menge der WebXR-Eingabegeräte ändert.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("inputsourceschange", (event) => {});
oninputsourceschange = (event) => {};
Ereignistyp
Ein XRInputSourcesChangeEvent
. Erbt von Event
.
Ereigniseigenschaften
Zusätzlich zu den unten aufgeführten Eigenschaften sind Eigenschaften von der übergeordneten Schnittstelle, Event
, verfügbar.
added
Nur lesbar-
Ein Array von null oder mehr
XRInputSource
-Objekten, von denen jedes ein kürzlich verbundenes oder aktiviertes Eingabegerät darstellt. removed
Nur lesbar-
Ein Array von null oder mehr
XRInputSource
-Objekten, die die kürzlich getrennten oder deaktivierten Eingabegeräte repräsentieren. session
Nur lesbar-
Die
XRSession
, an die sich dieses Eingabequellen-Änderungsereignis richtet.
Beschreibung
Auslöser
Ausgelöst, wenn sich die Menge der verfügbaren WebXR-Eingabegeräte ändert.
Anwendungsfälle
Sie können dieses Ereignis verwenden, um neu verfügbare Geräte zu erkennen oder wenn Geräte nicht mehr verfügbar sind.
Beispiele
Das folgende Beispiel zeigt, wie man einen Ereignis-Handler einrichtet, der inputsourceschange
-Ereignisse verwendet, um neu verfügbare Zeigegeräte zu erkennen und deren Modelle zu laden, um sie im nächsten Animationsrahmen anzuzeigen.
xrSession.addEventListener("inputsourceschange", onInputSourcesChange);
function onInputSourcesChange(event) {
for (const input of event.added) {
if (input.targetRayMode === "tracked-pointer") {
loadControllerMesh(input);
}
}
}
Sie können auch einen Handler für inputsourceschange
-Ereignisse hinzufügen, indem Sie den oninputsourceschange
-Ereignis-Handler setzen:
xrSession.oninputsourceschange = onInputSourcesChange;
Spezifikationen
Specification |
---|
WebXR Device API # eventdef-xrsession-inputsourceschange |
WebXR Device API # dom-xrsession-oninputsourceschange |
Browser-Kompatibilität
BCD tables only load in the browser