所以我想要在恢复拖动时执行一段代码,因为它没有放在droppable上。不幸的是返回“无效”;似乎没有工作,恢复表现得像恢复:真; 有什么建议我可以解决这个问题吗?
revert: function () {
//do some extra stuff...
return 'invalid';
}
答案 0 :(得分:0)
hemant是正确的,revert
不是一个事件,它是一个选项,但其接受的值无效/无效,但真/假。
请参阅jquery-ui-draggable manual说明:
如果设置为true,则元素将返回其开始位置 拖动停止。可能的字符串值:'valid','invalid'。如果设置为 无效,只有在没有删除拖动时才会发生恢复 在一个droppable上。如果有效,那就是另一种方式。
答案 1 :(得分:0)
这是一个非常老的问题,但是我想出了一个简单的答案。
为了同时运行函数并在可拖动对象中应用还原的“有效/无效”选项,请执行以下两个步骤:
1)将可拖动对象上的还原选项设置为所需的任何选项,例如:
$("#draggable").draggable({ revert: "valid" /*or invalid*/ });
2)使用draggable作为参数在droppable的accept选项上创建一个函数,并返回true,如下所示:
$("droppable").droppable({
accept: function(drag) {
//insert your code here
//you can modify the draggable's properties by using $(drag)
return true;
}
});
在JQuery 3.3.1上进行了测试
注意:此总是运行该功能,同时保持“有效/无效”功能。要仅在特定情况下运行该函数,我想您将不得不修改accept函数的返回值。