Задать вопрос
1Sergey1
@1Sergey1

Touch is not defined — FIREFOX?

Подскажите плиз, учебная задача, имитировать передвижение ползунка мышью. Есть код который работает в Chrome, но не работает в Firefox. Как его можно адаптировать под Firefox? В FF ошибка ReferenceError: Touch is not defined. Пример ползунка можно найти на входной странице Aliexpress если несколько раз ввести не правильные данные для входа.

заранее спасибо за любые подсказки, мысли.

Скрин ползунка
5e5cd04a69801195711023.png

Этот код работает в Chrome
/* eventType is 'touchstart', 'touchmove', 'touchend'... */
function sendTouchEvent(x, y, element, eventType) {
  const touchObj = new Touch({
    identifier: Date.now(),
    target: element,
    clientX: x,
    clientY: y,
    radiusX: 2.5,
    radiusY: 2.5,
    rotationAngle: 10,
    force: 0.5,
  });

  const touchEvent = new TouchEvent(eventType, {
    cancelable: true,
    bubbles: true,
    touches: [touchObj],
    targetTouches: [],
    changedTouches: [touchObj],
    shiftKey: true,
  });

  element.dispatchEvent(touchEvent);
}

const myElement = document.getElementById('nc_1_n1z')

sendTouchEvent(150, 150, myElement, 'touchstart');
sendTouchEvent(500, 500, myElement, 'touchmove');
sendTouchEvent(220, 200, myElement, 'touchend');
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Насколько я знаю, класс Touch определен только в том случае, если устройство поддерживает сенсорный ввод. Существует альтернативный апи — Pointer events. Он поддерживает не только касания, но и работу с мышью.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы