1

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

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

#myDroppable但问题是当添加一些东西时我正在改变元素。所以下次我给它丢东西的时候event.srcElement.id可能不是myDroppable,而是它的新孩子的任何 id。我可以在顶部添加一个叠加层,但是当有滚动条时它会变得更加复杂。有没有其他方法来处理这个事件?

4

1 回答 1

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

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

我不确定那个插件,但通常this === event.srcElement

.parents .andSelf .has

于 2011-02-01T02:36:17.670 回答