arrastar e soltar na tela sensível ao toque
Eu tenho procurado por um guia claro sobre como esses eventos funcionam e agora estou mais confuso do que quando comecei.
Certos recursos do meu site envolvem arrastar e soltar. Atualmente, dispositivos móveis (ou qualquer coisa sem mouse) são suportados pelo usuário selecionar o item, tocar no botão "mover" e tocar no ponto de retorno. Enquanto isso funciona muito bem (itens estão em uma grade visível), não é exatamente tão fácil de usar quanto arrastar.
Meu entendimento inicial é que, onde quer que eu atribuaelement.onmousedown
, element.onmousemove
eelement.onmouseup
Eu também posso simplesmente atribuir o mesmo manipulador paraelement.ontouchstart
, element.ontouchmove
eelement.ontouchend
respectivamente.
No entanto, isso deixa as seguintes perguntas:
Como eu obtenho as coordenadas do ponto de contato, e em que ele é relativo?A exibição será movimentada (a ação padrão de arrastar) e, em caso afirmativo, será cancelável?Como posso evitar a interferência em ações multitoque, como beliscar para aplicar zoom se um dedo estiver em um elemento arrastável?