Implementé arrastrar y soltar con html/JavaScript. Funciona bien con el arrastre del mouse, pero tiene problemas con la pantalla táctil. al arrastrar un elemento en la pantalla táctil, su posición no es correcta, ya sea que suba o baje desde el punto de contacto. ¡Gracias por adelantado!
var _left = _touch.clientX; var _top = _touch.clientY; _touch.target.style.left = _left + 'px'; _touch.target.style.top = _top + 'px';
El problema ha sido resuelto. La solución es la siguiente:
var droppable = document.elementFromPoint(_touch.clientX, _touch.clientY); var _left = _touch.clientX - droppable.getBoundingClientRect().left; var _top = _touch.clientY - droppable.getBoundingClientRect().top; _touch.target.style.left = _left + 'px'; _touch.target.style.top = _top + 'px';
Obtengo la izquierda y la parte superior del contenedor que se puede soltar y lo resto del elemento que se puede arrastrar.