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');
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Насколько я знаю, класс Touch определен только в том случае, если устройство поддерживает сенсорный ввод. Существует альтернативный апи — Pointer events. Он поддерживает не только касания, но и работу с мышью.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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