I don't know if it works in other browsers, but in chrome you can do something like
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('foo') sendTouchEvent(150, 150, myElement, 'touchstart'); sendTouchEvent(220, 200, myElement, 'touchmove'); sendTouchEvent(220, 200, myElement, 'touchend');
To check if your browser supports Touch and TouchEvent
if (typeof Touch !== 'undefined' && typeof TouchEvent !== 'undefined' && Touch.length === 1 && TouchEvent.length === 1) { sendTouchEvent(200, 200, myElement, 'touchmove'); }
see Constructors Touch and TouchEvent
fhdhsni
source share