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

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

Войти через центр авторизации
Похожие вопросы