我有一张照片列表,并且已将它们添加到其中,但是将照片拖到父div之外时,我想更改其类别,以便指示如果将其删除,则将其删除,然后在用户删除它,我希望它触发一个功能。 (仅当它在父div之外时)

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

因此,当li被拖到.photos之外时,它会触发添加类,然后如果将其拖放到.photos之外,则会触发并发生事件以将其删除。

最佳答案

假设您提到的父div是可放置的,则可以将事件处理程序绑定(bind)到 dropout 事件:

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

每当将可接受的可拖动对象拖动到可放置对象的公差范围之外时,就会触发该事件。

更新(请参阅评论)

您可以为revert选项提供回调函数。该函数可以采用一个参数,该参数包含放置了可拖动对象的可放置对象或false(如果将其放置在无效的位置):
$("#draggable").draggable({
    revert: function(valid) {
        if(!valid) {
            //Dropped outside of valid droppable
        }
    }
});

这是working example

关于jquery - jQuery可拖动,当放到父div之外时发生事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9317293/

10-12 12:30