我有一个可拖动的父元素(冰淇淋包装),它比可放置的(牙齿)大。所以我把另一个绝对定位的子元素放在父元素中,这个元素相当小(红色方块)。我想要实现的目标如下:
我已经尝试了一些“多拖”库,但没有一个按预期工作。我也尝试使用tolerance:pointer选项,但由于我们将拖动冰淇淋而不是红色方块,指针通常不会在标记的droppable内。
HTML部分:
<div class="sladoled-wrapper draggable">
<img src="img/sladoled.png" class="img-sladoled draggable">
<div class="pointer draggable"></div>
</div>
JS部分:
$( function() {
$( ".draggable" ).draggable({
revert: true
});
$( ".droppable" ).droppable({
tolerance: 'pointer',
drop: function( event, ui ) {
$( this ).addClass( "dropped" );
}
});
} );
答案 0 :(得分:0)
使用此代码
$( function() {
$( ".draggable" ).draggable({
revert : function(event, ui) {
// on older version of jQuery use "draggable"
// $(this).data("draggable")
// on 2.x versions of jQuery use "ui-draggable"
// $(this).data("ui-draggable")
$(this).data("uiDraggable").originalPosition = {
top : 0,
left : 0
};
// return boolean
return !event;
// that evaluate like this:
// return event !== false ? false : true;
}
});
$( ".droppable" ).droppable({
tolerance: 'pointer',
drop: function( event, ui ) {
$( this ).addClass( "dropped" );
}
});
} );