【发布时间】:2016-04-06 15:17:28
【问题描述】:
我有一个还原功能,所以我可以添加一些额外的检查来触发还原。将可拖动对象与可放置对象对齐的放置功能似乎在可拖动对象恢复到其原始位置之前触发。
在我看来,这只有在使用 revert 功能时才会发生,因为在禁用的 droppable 上它会正常运行。
$( ".box" ).draggable({
revert: function(socketObj) {
if (socketObj === false) {
return true;
} else {
if ( $(this).hasClass("box") ) {
return true;
}
return false;
}
},
});
$( ".ru" ).droppable({
drop: function( event, ui ) {
ui.draggable.position({
of: $(this),
my: 'left top',
at: 'left top'
});
}
});
【问题讨论】:
-
@Parth “返回真”;意在, if 语句是我要添加到还原函数的额外检查的占位符。
-
现在有什么问题?你不想让 box 回到之前的位置吗?
-
正如我在问题中所说,drop 函数在还原发生之前触发。如果您查看 jsfiddle 并拖动到第一个 droppable,您将看到该行为。
-
一切正常。如果你使用 droppable 那么它应该首先调用 drop event 如果 drop 成功然后在它恢复之后。请查看jsfiddle.net/ugywztgw/3
标签: jquery jquery-ui draggable droppable