jQuery draggable / droppable miss事件

时间:2011-02-01 02:30:28

标签: jquery jquery-ui draggable droppable

我想处理一个事件,当我的可拖动项目被删除但不在我的可投放项目中。到目前为止,我只能做到这一点:

 $('#myDraggable').draggable({
  stop: function (event, ui) {
      if (event.srcElement.id != 'myDroppable'){
         // Missed
      }
  }
 });

但问题是,当我添加某些内容时,我正在追逐#myDroppable元素。因此,下次我删除它时event.srcElement.id可能不是myDroppable,而是其新子项的任何ID。我可以在顶部添加叠加层,但是当有滚动条时它会变得更复杂。还有另一种处理此事件的方法吗?

1 个答案:

答案 0 :(得分:0)

if ($(event.srcElement).parents().andSelf().has("#myDroppable").length === 0)

拿你的元素,抓住它的整个父链添加当前元素然后将其减少到匹配“#myDroppable”的集合。如果它的长度为0,那么你就不要将它放入你的droppable中。

我不确定该插件,但通常是this === event.srcElement

.parents .andSelf .has