Yeah you can map touch events to replicate dragstart and dragstop with touchstart, touchmove and touchend
const draggable = document.querySelector('/*draggable element*/')
const getX = (e) => e.pageX || e.touches[0].pageX;
let isDragging,
offsetX,
offsetY = false;
const dragStart = (e) => {
e.preventDefault();
isDragging = true;
const clientX = e.touches ? e.touches[0].clientX : e.clientX;
const clientY = e.touches ? e.touches[0].clientY : e.clientY;
offsetX = clientX - draggable.offsetLeft;
offsetY = clientY - draggable.offsetTop;
};
const dragging = (e) => {
if (!isDragging) return;
e.preventDefault();
const clientX = e.touches ? e.touches[0].clientX : e.clientX;
const clientY = e.touches ? e.touches[0].clientY : e.clientY;
draggable.style.left = `${clientX - offsetX}px`;
draggable.style.top = `${clientY - offsetY}px`;
};
const dragStop = () => {
isDragging = false;
};
//function calls