我有一组照片,并且已经添加了可拖动功能,但是当照片被拖到父级div之外时,我希望更改它的类以表示如果您放置它,它将被删除,然后当用户放置它时,我希望它触发一个函数。(仅在其位于父级div之外时)
<ul class="photos">
<li><img src=""/></li>
<li><img src=""/></li>
</ul>
当 li 元素被拖出 .photos 时,它将触发添加类的事件,如果它被拖动到外面,则会触发删除类的事件。
我有一组照片,并且已经添加了可拖动功能,但是当照片被拖到父级div之外时,我希望更改它的类以表示如果您放置它,它将被删除,然后当用户放置它时,我希望它触发一个函数。(仅在其位于父级div之外时)
<ul class="photos">
<li><img src=""/></li>
<li><img src=""/></li>
</ul>
当 li 元素被拖出 .photos 时,它将触发添加类的事件,如果它被拖动到外面,则会触发删除类的事件。
假设您所提到的父级div
是一个可放置元素,您可以将事件处理程序绑定到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
}
}
});
这里有一个可运行的示例。