当我停止移动可拖动并释放鼠标按钮以触发停止功能时,我怎么知道我已经结束/悬停某个.classname的元素?
当我没有超过可放置时,我需要知道这一点,因此我不能使用 droppable 来覆盖函数。
$(availableCommand).**draggable**({
start: function(evt, ui){
var originalPosition = ui.helper.position();
$(this).data("ui-draggable").originalPosition = originalPosition;
},
stop: function(event) {
// Only Revert draggable to original position
// if the draggable is NOT over an element of class .DropMe
// PSEUDO CODE
var isHoveringDroppable = // Is draggable hover over an element of type .DropMe
if(!isHoveringDroppable)
{
// revert draggable
var draggable = $(this);
draggable.animate(draggable.data("ui-draggable").originalPosition,"slow");
}
}
});
我使用 jquery top-droppable 插件将完整的codepen发布到我的问题,作为重叠droppables的解决方法:http://codepen.io/anon/pen/WbadbM
答案 0 :(得分:1)
我现在找到了一个非常好的解决方案:$(element).draggable({revert:function(dropped){return!dropped;},当它没有落在可放置的GREAT上时自动返回拖动!
答案 1 :(得分:0)
使用over事件:
$(".droppable").droppable({
over: function (event, ui) {
var hoveringElement= $(this);
}
});