Je remarque que les applications tactiles utilisent rarement l'idiome "drag n drop" (dnd), et que le glisser-déplacer est presque toujours utilisé pour le défilement.
Y a-t-il une raison à cela? Est-il déroutant ou "faux" d'utiliser dnd au toucher? Qu'en est-il également du défilement: peuvent-ils être mélangés efficacement?
Je pense qu'il y a plusieurs raisons à cela.
Un autre aspect qui n'a pas été mentionné est la perte de la fonctionnalité Long Press en utilisant un champ de glisser-déposer. Surtout dans Android, la presse longue est venue pour représenter le clic droit du monde tactile. Lorsqu'une souris a gauche et droite, le toucher n'a que court et long.
Vous pouvez utiliser event.preventDefault lors de la navigation et de la suppression ou un touchHold afin que vous puissiez avoir à la fois le défilement et le glisser/déposer.
L'astuce consiste à lier les événements de la souris aux événements tactiles.
https://mobiforge.com/design-development/touch-friendly-drag-and-drop
Double tap est délicat, mais totalement faisable, voici celui qui a fonctionné pour moi.
https://Gist.github.com/attenzione/7098476
Lorsque vous utilisez un événement de double clic, ajoutez simplement un événement de doubletap pour cela.
De cette façon, vous pouvez utiliser le double appui, glisser/déposer et activer le défilement lorsque vous ne touchez pas Maintenir ou glisser-déposer.
MISE À JOUR: Si vous avez un élément .draggable, vous pouvez facilement obtenir le glissement pour lancer le défilement automatique en utilisant une option de défilement de scroll: true.
Exemple:
$('.className').draggable({
helper: 'clone',
scroll: true
});