simplement parce qu'un élément peut être déplacé ne signifie pas qu'il ne peut pas non plus être déposé.
J'ai écrit un petit exemple pour vous, c'est très trivial, la moitié des éléments sont drop only, les bordures rouges, la moitié sont des cibles et aussi.
Démo: http://jsfiddle.net/63kgz/1/
HTML:(quelques objets aléatoires)
<div class="drag"><span>A</span></div>
<div class="drag"><span>B</span></div>
<div class="drag"><span>C</span></div>
<br class="clear" />
<div class="drop"><span>D</span><p></p></div>
<div class="drop"><span>E</span><p></p></div>
<div class="drop"><span>F</span><p></p></div>
CSS:(ignorer cela, il est juste de montrer des objets aléatoires)
.drag { width: 100px; height: 100px;
float:left; margin-bottom: 10px; margin-right: 10px;
border:1px solid #f00;
}
.drop { width: 200px; height: 200px;
float:left; margin: 10px 10px 10px 10px;
border: 1px solid #000;
}
.drop p { width: auto;
color: #00f;
margin-left: 50%; margin-right: 50%; margin-top: 25%; margin-bottom: 25%;
}
.clear { clear: both; }
div {
user-select: none;
-o-user-select:none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
}
jQuery:
// Everything is draggable
$('.drag,.drop').draggable();
// Only the .drop class is droppable
$('.drop').droppable({
'accept': '.drag,.drop',
'drop' : function(event, ui) {
$(this).find('p').text(ui.draggable.find('span').text());
}
});
// This just makes the sizes different so the objects fit in each other
$('.drag').css('width', function(i, value) {
return parseInt(value) * (1/(i + 1)) + 'px';
}).css('height', function(i, value) {
return parseInt(value) * (1/(i + 1)) + 'px';
});
$('.drop').css('width', function(i, value) {
return parseInt(value) * (1/(i + 1)) + 'px';
}).css('height', function(i, value) {
return parseInt(value) * (1/(i + 1)) + 'px';
});
Donc, chaque div peut être un enfant d'un autre et vous devez mettre en œuvre sortable dans chaque jeu, que ce soit le parent global, ou à l'intérieur d'un enfant? Je suppose qu'il n'y a pas de limite à la profondeur? – Orbling