Lorsque je configure un objet déplaçable sur Snap en une séquence (en faisant uniquement des snapshots internes), je vois souvent revenir les snapshots adjacents, bien qu'ils soient clairement en dehors d'eux. Notez le SnapMode, car il est la partie la plus importante:jQuery UI Snappable Ne pas retourner uniquement Snaps internes avec SnapMode Set
$(".draggable").draggable({
snap: ".snap",
snapMode: "inner",
stop: function(event, ui) {
/* Get the possible snap targets: */
var snapped = $(this).data('draggable').snapElements;
/* Pull out only the snap targets that are "snapping": */
var snappedTo = $.map(snapped, function(element) {
return element.snapping ? element.item : null;
});
/* Display the results: */
var result= '';
$.each(snappedTo, function(idx, item) {
result += $(item).text() + ", ";
});
$("#results").html("Snapped to: " + (result === '' ? "Nothing!" : result));
}
});
Ceci est basé à l'origine sur cette question: How to find out about the "snapped to" element for jQuery UI draggable elements on snap
J'ai besoin des zones « pris en cliché » pour être à côté de l'autre par la conception I essaie de construire vers, comme ceci:
Mon jsFiddle la démonstration de cette question est ici: http://jsfiddle.net/myingling/dx54dapr/1/
(Essayez l'accrochage à Snap 2 et vous verrez qu'il SAIT qu'il s'accroche à BOTH Snap 1 et Snap 2!)
Je pense que vous avez besoin de mettre un peu d'espace entre les deux zones à pression – codtex
Pourquoi, si j'utilise 'SNAPMODE: « intérieure »'? Ne devrait-il pas détecter seulement les objets à l'intérieur de la zone de chute? – Bing