ここにフィドルがあります:http://jsfiddle.net/adMXj/
小さなコンテナーにドロップする必要がある大きなドラッグ可能なアイテムがあります。これは、コンテナーとアイテムが同じようなサイズの場合は問題ありませんが、ドラッグ可能な要素が大きい場合には適していません。
ドラッグすると、ドラッグ可能なコンテンツを「選択したアイテム」に変更したいと思います。
手伝ってくれますか?
ここで試してみて、クリックしてドラッグするドラッグ可能なアイテムの場所に応じて、ドロップ可能な領域がどれほど小さいかを確認してください。
ここに私のJSがあります:
$('.items > li').draggable({
revert: "invalid",
helper: function(event) {
var helperList = $('<ul class="draggable-helper">');
if ($(this).is('.active')){
helperList.append($(this).siblings('.active').andSelf().clone());
} else {
helperList.append($(this).clone());
}
return helperList;
}
});
$('.drop-containers li').droppable({
drop: function(event, ui) {
console.log('dropped');
var $this = $(this);
var selectedObjects = new Array();
if (ui.draggable.hasClass('active')) {
console.log('active');
// get all active items
$('ul.items > li.active').each(function() {
console.log($(this).attr('id'));
selectedObjects.push($(this).attr('id'));
$(this).remove();
});
} else {
console.log('not active');
selectedObjects.push(ui.draggable.attr('id'));
ui.draggable.remove();
}
$this.append(', ' + selectedObjects.join(', '));
}
});