jQuery draggable,在父div之外被删除的事件

时间:2012-02-16 18:53:52

标签: jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

我有一张照片列表,并且我已经添加了draggable,但是当将照片拖到父div之外时,我想要更改它的类,这样就表明如果删除它,它将被删除,然后当用户删除它时,我希望它启动一个函数。 (只有在父div之外)

<ul class="photos">
<li><img src=""/></li>
<li><img src=""/></li>
</ul>

所以当li被拖到.photos之外时,它会触发添加类,然后如果它被丢弃在它之外,那么它会触发并发生事件以将其删除。

1 个答案:

答案 0 :(得分:10)

假设您提到的父div是一个droppable,您可以将事件处理程序绑定到dropout事件:

$("#parentDiv").on("dropout", function(event, ui) {
    //ui.draggable refers to the draggable
});

只要将可接受的拖动拖到悬浮物的公差区域之外,任何时候都会触发该事件。

更新(见评论)

您可以为revert选项提供回调函数。该函数可以使用一个参数,该参数包含删除了draggable的droppable,或者false(如果它被丢弃的地方无效):

$("#draggable").draggable({
    revert: function(valid) {
        if(!valid) {
            //Dropped outside of valid droppable
        }
    }
});

这是working example