我有一个简单的Dropzone,它接受带有“can_be_dropped”类的Draggables。这很好用。但是我在另一个以“can_be_dropped”作为父母的Div中有一个“can_be_dropped”的Div。
Dropzone不会对Child Draggable做出反应,如果你将它放在Dropzone上,那就是在Parentdraggable中。
我创建了一个超级简单的例子Fiddle来展示它(我不会让它对#itemthree做出反应): http://jsfiddle.net/dennismueller/qzyL9/25/
$(".can_be_dragged").draggable();
$("#thedropzone").droppable({
accept: ".can_be_dropped",
activeClass: "ui-state-hover",
hoverClass: "ui-state-active",
tolerance: "touch",
drop: function (event, ui) {
alert('You just Dropped #' + $(ui.helper).attr('id'));
}
});
<div id="thedropzone"></div>
<div class="can_be_dragged can_be_dropped" id="itemone"></div>
<div class="can_be_dragged can_be_dropped" id="itemtwo">
<div class="can_be_dropped" id="itemthree"></div>
</div>
我知道Dropzones有这个“贪婪”选项(就像在这里解决的那样:Jquery UI - Nested Droppables/Sortables),但有没有像Draggables这样的解决方案?我真的被困在这里,并为任何提示/帮助感到高兴。
目前我认为必须通过一些CSS解决方法来解决。但目前我无法让#itemthree成为#itemtwo的孩子。如果它只是一个jquery设置我会很高兴。
如果我把#itemthree放在#itemwo的孩子身上,Droppable就不会做出反应