你可以做的是包裝您的拖拽元素在div
,你還讓droppable
:
<div id="originalposition">
<div id="draggable" class="ui-widget-content">
<p>Drag me to my target</p>
</div>
<div id="draggable2" class="ui-widget-content">
<p>Drag me to my target</p>
</div>
</div>
然後,你可以這樣做以下:
$(function() {
$("#draggable").draggable({ revert: 'invalid' });
$("#draggable2").draggable({ revert: 'invalid' });
$("#originalposition").droppable({
drop: function(event,ui) {
$("#droppable").removeClass("ui-state-highlight").addClass("ui-widget-header").html("<p>Drop here</p>");
}
});
$("#droppable").droppable({
drop: function(event, ui) {
$(this).addClass("ui-state-highlight").find("p").html("Dropped!");
},
accept: function(dropElem) {
//dropElem was the dropped element, return true or false to accept/refuse it
return (!$(this).hasClass("ui-state-highlight") && $(dropElem).hasClass("ui-widget-content"));
}
});
});
Fiddle here。
對不起,這個答案是失敗的:D 檢查這張票:http://stackoverflow.com/questions/3088485/how-to-revert-position-of-a-jquery-ui-draggable-based-on - 條件 –
謝謝邁克爾,我已經看到了這張票,但一直在努力實現,在我的情況下 - 因此提出這個問題。 –