如何取消jQuery droppable的放置操作?

Ton*_*ich 16 jquery-ui droppable

我有一个jQuery UI droppable,它接受draggables.如果满足某些条件,我想不允许掉落动作.

如何取消放下操作并执行类似操作的恢复操作?

And*_*ker 29

accept上可放开小工具选项:

将接受与选择器匹配的所有可拖动项.如果指定了一个函数,则将为页面上的每个draggable调用该函数(作为函数的第一个参数传递),以提供自定义过滤器.如果应该接受draggable,则该函数应返回true.

结合revertdraggable选项可以满足您的需求:

$(".draggable").draggable({
    revert: 'invalid'
});

$("#droppable").droppable({
    accept: function(el) {
        /* This is a filter function, you can perform logic here 
           depending on the element being filtered: */
        return el.hasClass('acceptable');
    }
});
Run Code Online (Sandbox Code Playgroud)

请注意,在此特定示例中,您还可以编写accept: ".acceptable",这将使droppable仅接受具有类的元素acceptable.因此,另一个选择是当您的自定义事件发生时,只需acceptable根据需要应用或删除该类.

这是一个例子:http://jsfiddle.net/andrewwhitaker/rUgJF/3/

底部有一个关闭切换"可接受性"的链接.