XRSession:selectend 事件

实验性: 这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表格

安全上下文:此功能仅在安全上下文(HTTPS)中,在某些或所有支持的浏览器中可用。

WebXR 事件selectend在其中一个输入源结束其主要操作或正在处理正在进行的主要操作的输入源在成功完成操作之前断开连接时发送到XRSession

beforexrselect在该事件之前触发,并且可以阻止该事件被触发。

语法

在诸如addEventListener()之类的中使用事件名称,或设置事件处理程序属性。

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

onselectend = (event) => {};

事件类型

事件属性

除了下面列出的属性外,父接口Event中的属性也可用。

frame 只读

一个XRFrame对象,提供有关事件发生期间事件帧所需的信息。此帧可能已在过去呈现,而不是当前帧。因为这是一个事件帧,而不是动画帧,所以你不能在上面调用XRFrame方法getViewerPose();而是使用getPose()

inputSource 只读

一个XRInputSource对象,指示哪个输入源生成了输入事件。

描述

触发

当用户停止按下触发器或按钮、点击触控板、说出命令或在使用带有加速度计的视频跟踪系统或手持控制器时执行可识别的姿势时触发。

使用案例

selectendselectstart 事件会告诉您何时可能需要向用户显示一些内容,指示主要操作正在进行。这可能是以新的颜色绘制带有激活按钮的控制器,或者显示目标对象正在被抓取并四处移动,从 selectstart 到达开始,到收到 selectend 停止。

select 事件是告诉您的代码用户已完成他们想要完成的操作的事件。这可能像在游戏中投掷物体或拉动枪的扳机一样简单,也可能像将拖动的物体放置到新位置一样复杂。

如果您的主要操作是简单的触发操作,并且在触发器处于激活状态时不需要任何动画,您可以忽略 selectstartselectend 事件,并在开始事件上执行操作。

示例

请参阅 selectstart 事件以获取示例代码。

规范

规范
WebXR 设备 API
# eventdef-xrsession-selectend
WebXR 设备 API
# dom-xrsession-onselectend

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅