我有一张照片列表,并且已将它们添加到其中,但是将照片拖到父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/