Spec-Zone.ru › Web APIs

Touch: свойство radiusX

Ограниченная доступность

Эта функция не является Базовой, так как она не работает в некоторых из самых широко используемых браузеров.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Чтение-только свойство radiusX интерфейса Touch возвращает радиус X эллипса, который наиболее точно охватывает область контакта с сенсорной поверхностью. Значение указано в пикселях CSS, масштаб которых соответствует Touch.screenX.

Это значение, в сочетании с Touch.radiusY и Touch.rotationAngle, формирует эллипс, приблизительно описывающий размер и форму области контакта между пользователем и экраном. Это может быть относительно большой эллипс, представляющий контакт кончика пальца с экраном, или небольшая область, представляющая кончик стилуса, например.

Значение

Число.

Примеры

Этот пример демонстрирует использование свойств интерфейса Touch: Touch.radiusX, Touch.radiusX и Touch.rotationAngle. Свойство Touch.radiusX является радиусом эллипса, который наиболее точно охватывает область касания (например, палец, стилус) вдоль оси, указанной углом наклона Touch.rotationAngle точки касания. Аналогично, свойство Touch.radiusY является радиусом эллипса, который наиболее точно охватывает область касания (например, палец, стилус) вдоль оси, перпендикулярной оси, указанной углом наклона Touch.rotationAngle. Свойство Touch.rotationAngle — это угол (в градусах), на который эллипс, описываемый значениями radiusX и radiusY, повернут по часовой стрелке вокруг своего центра.

Следующий фрагмент кода регистрирует обработчик для событий touchstart, touchmove и touchend. При касании элемента src, ширина и высота элемента будут рассчитаны на основе значений radiusX и radiusY точки касания, а затем элемент будет повернут, используя угол наклона rotationAngle точки касания.

<div id="src">…</div>
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)`;
}

Спецификации

Спецификация
Touch Events
# dom-touch-radiusx

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
radiusX 3822–47 ≤79
52Этот интерфейс доступен только при обнаружении сенсорного устройства ввода.
18–24Удалено в ошибке 888304 из-за проблем с совместимостью в веб-среде.
2515–34 Нет 3825–47 6 2514–34 10 3.01.5–5.0 384.4–47

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Touch/radiusX

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API