Touch: radiusX-Eigenschaft

Die schreibgeschützte radiusX-Eigenschaft des Touch-Interfaces gibt den X-Radius der Ellipse zurück, die am besten das Kontaktgebiet mit der Touch-Oberfläche umschreibt. Der Wert ist in CSS-Pixel der gleichen Skala wie Touch.screenX.

Dieser Wert bildet zusammen mit Touch.radiusY und Touch.rotationAngle eine Ellipse, die die Größe und Form des Kontaktbereichs zwischen dem Benutzer und dem Bildschirm annähert. Dies kann eine relativ große Ellipse sein, die den Kontakt zwischen einer Fingerspitze und dem Bildschirm darstellt, oder ein kleiner Bereich, der die Spitze eines Stylus repräsentiert, zum Beispiel.

Wert

Eine Zahl.

Beispiele

Dieses Beispiel veranschaulicht die Nutzung der Touch.radiusX, Touch.radiusX und Touch.rotationAngle-Eigenschaften des Touch-Interfaces. Die Touch.radiusX-Eigenschaft ist der Radius der Ellipse, die das Kontaktgebiet (z.B. Finger, Stylus) entlang der Achse am genauesten umschreibt, die durch den Berührungspunkt-[Touch.rotationAngle](/de/docs/Web/API/Touch/rotationAngle) angezeigt wird. Ebenso ist die Touch.radiusY-Eigenschaft der Radius der Ellipse, die das Kontaktgebiet (z.B. Finger, Stylus) entlang der Achse am genauesten umschreibt, die senkrecht zu dem durch Touch.rotationAngle angezeigten liegt. Der Touch.rotationAngle ist der Winkel (in Grad), um den die durch radiusX und radiusY beschriebene Ellipse im Uhrzeigersinn um ihren Mittelpunkt gedreht ist.

Der folgende einfache Codeausschnitt registriert einen einzigen Handler für die touchstart, touchmove und touchend Ereignisse. Wenn das src-Element berührt wird, werden die Breite und Höhe des Elements basierend auf den radiusX- und radiusY-Werten des Berührungspunkts berechnet und das Element wird dann unter Verwendung des rotationAngle des Berührungspunkts gedreht.

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)`;
}

Spezifikationen

Specification
Touch Events
# dom-touch-radiusx

Browser-Kompatibilität

BCD tables only load in the browser