JavaScript events for custom objects

// Adding events to a custom object
class Car extends EventDispatcher {
start() {
this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
}
};
// Using events with the custom object
const car = new Car();
car.addEventListener( 'start', ( event ) => {
alert( event.message );
} );
car.start();

Hierarchy (view full)

Constructors

Properties

cameraAutoUpdate: boolean
true
dispose: (() => void)
enabled: boolean
false
getBaseLayer: (() => XRWebGLLayer | XRProjectionLayer)
getBinding: (() => XRWebGLBinding)
getCamera: (() => WebXRArrayCamera)
getController: ((index: number) => XRTargetRaySpace)
getControllerGrip: ((index: number) => XRGripSpace)
getDepthSensingMesh: (() => null | Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>)
getDepthTexture: (() => null | Texture)
getEnvironmentBlendMode: (() => undefined | XREnvironmentBlendMode)
getFoveation: (() => undefined | number)
getFrame: (() => XRFrame)
getHand: ((index: number) => XRHandSpace)
getReferenceSpace: (() => null | XRReferenceSpace)
getSession: (() => null | XRSession)
hasDepthSensing: (() => boolean)
isPresenting: boolean
false
setAnimationLoop: ((callback: null | XRFrameRequestCallback) => void)
setFoveation: ((value: number) => void)
setFramebufferScaleFactor: ((value: number) => void)
setReferenceSpace: ((value: XRReferenceSpace) => void)
setReferenceSpaceType: ((value: XRReferenceSpaceType) => void)
setSession: ((value: null | XRSession) => Promise<void>)
updateCamera: ((camera: PerspectiveCamera) => void)

Methods