安全上下文
此特征只可用于
安全上下文
(HTTPS),在某些或所有
支持浏览器
.
The WebXR event
squeeze
is sent to an
XRSession
when one of the session's input sources has completed a
primary squeeze action
.
Examples of comon kinds of primary action are users pressing triggers or buttons, tapping a touchpad, speaking a command, or performing a recognizable gesture when using a video tracking system or handheld controller with an accelerometer.
| 冒泡 | Yes |
|---|---|
| 可取消 | No |
| 接口 |
XRInputSourceEvent
|
| 事件处理程序特性 |
onsqueeze
|
For details on how the
squeezestart
,
squeeze
,和
squeezeend
events work, and how you should react to them, see
Primary squeeze actions
in
Inputs and input sources
.
以下范例使用
addEventListener()
to set up a handler for the
squeeze
event. The handler fetches the pose representing the target ray for
tracked-pointer
inputs and sends the pose's transform to a function called
myHandleSqueezeWithRay()
.
This code treats the squeeze as an instantaneous action that doesn't involve tracking an ongoing activity. If you need to track a squeeze action that isn't instantaneous, listen for the
squeezestart
and
squeezeend
events to sense when the squeeze action begins and ends.
xrSession.addEventListener("squeeze", event => {
if (event.inputSource.targetRayMode == "tracked-pointer") {
let targetRayPose = event.frame.getPose(event.inputSource.targetRaySpace,
myRefSpace);
if (targetRayPose) {
myHandleSqueezeWithRay(targetRayPose.transform);
}
}
});
You can of course also set up a handler for
squeeze
events by setting the
XRSession
对象的
onsqueeze
event handler property to a function that handles the event:
xrSession.onsqueeze = event => {
if (event.inputSource.targetRayMode == "tracked-pointer") {
let targetRayPose = event.frame.getPose(event.inputSource.targetRaySpace,
myRefSpace);
if (targetRayPose) {
myHandleSqueezeWithRay(targetRayPose.transform);
}
}
};
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebXR 设备 API
The definition of 'squeeze event' in that specification. |
工作草案 | 初始定义。 |
XRSession
selectend
selectstart
squeeze
squeezeend
squeezestart
Navigator.xr
WebGLRenderingContext.makeXRCompatible()
XR
XRBoundedReferenceSpace
XRFrame
XRInputSource
XRInputSourceArray
XRInputSourceEvent
XRInputSourcesChangeEvent
XRPose
XRReferenceSpace
XRReferenceSpaceEvent
XRRenderState
XRRigidTransform
XRSessionEvent
XRSpace
XRView
XRViewerPose
XRViewport
XRWebGLLayer