触摸:radiusX 属性

radiusXTouch 接口的只读属性,它返回与触摸表面接触区域最接近的椭圆的 X 半径。该值以 CSS 像素表示,与 Touch.screenX 相同比例。

此值与 Touch.radiusYTouch.rotationAngle 一起构建一个椭圆,该椭圆近似于用户与屏幕之间接触区域的大小和形状。例如,它可能是一个相对较大的椭圆,表示手指尖与屏幕之间的接触,或者是一个小的区域,表示触控笔的笔尖。

一个数字。

示例

此示例演示了如何使用 Touch 接口的 Touch.radiusXTouch.radiusXTouch.rotationAngle 属性。Touch.radiusX 属性是椭圆的半径,它最接近地外接接触区域(例如手指、触控笔),沿着由触摸点的 Touch.rotationAngle 指示的轴。类似地,Touch.radiusY 属性是椭圆的半径,它最接近地外接接触区域(例如手指、触控笔),沿着由 Touch.rotationAngle 垂直指示的轴。 Touch.rotationAngle 是由 radiusXradiusY 描述的椭圆绕其中心顺时针旋转的角度(以度为单位)。

以下简单的代码片段注册了 touchstarttouchmovetouchend 事件的单个处理程序。当 src 元素被触摸时,元素的宽度和高度将根据触摸点的 radiusXradiusY 值进行计算,然后元素将使用触摸点的 rotationAngle 进行旋转。

html
<div id="src"></div>
js
const src = document.getElementById("src");

src.addEventListener("touchstart", rotate);
src.addEventListener("touchmove", rotate);
src.addEventListener("touchend", rotate);

function rotate(e) {
  const touch = e.changedTouches.item(0);

  // Turn off default event handling
  e.preventDefault();

  // Rotate element 'src'.
  src.style.width = `${touch.radiusX * 2}px`;
  src.style.height = `${touch.radiusY * 2}px`;
  src.style.transform = `rotate(${touch.rotationAngle}deg)`;
}

规范

规范
触摸事件
# dom-touch-radiusx

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。