rétablir «invalide» avec la grid ne revient pas à la position de départ avec jQuery UI Draggable

En un mot, si vous utilisez un élément déplaçable avec une grid et que vous définissez la valeur Revers: “non valide” sur les éléments déplaçables, ils ne reviennent pas exactement au même endroit où vous avez commencé à les faire glisser. Ils retournent dans un endroit proche de l’endroit où vous avez commencé à les traîner … plutôt bizarre.

Cela pourrait bien être un bug dans l’interface utilisateur. Si oui, est-ce que quelqu’un sait s’il existe une solution de contournement?

Exemple: http://jsfiddle.net/n2AUv/11/

Merci! John.

grid documentation d’option de grid indique:

Accroche l’ assistant de déplacement sur une grid, tous les x et y pixels.

Il semble donc que la grid été conçue pour être utilisée uniquement avec une sorte d’assistance. Et vraiment, si vous utilisez helper: "clone" , tout va bien: helper revient près du lieu de l’instance d’origine et

Oui, cela ressemble à un bug dans l’interface utilisateur. Mais il existe une solution de contournement: utilisez helper pour faire glisser :

 $(".dragme").draggable({ revert: true, helper: "clone", grid: [50,50] }); 

Cette solution de contournement introduit un autre bogue étrange: après la destruction d’une aide valide pour l’aide sur une zone de repository, et la présence de l’instance originale à sa place (vous pouvez le voir au violon ).

Ce bogue a en quelque sorte été résolu pour pouvoir être draggable avec les options connectToSortable . Peut-être qu’il est également possible de résoudre le problème dans votre cas.

En outre, je soupçonne que tout le gâchis est dû à cette partie de code déplaçable.