2

我在这里有一个 jsfiddle - 我在 Ready 函数中制作了一个可调整大小和可拖动的图像。还创建了一个 droppablediv来接受图像的 resizable .ui-wrapper,因此可以将图像拖放到div. 在 drop 处理程序中,我想ui.draggable完全从 droppable中删除div,因为其他东西会放在那里。

我尝试这样做remove()

ui.draggable.remove();

根据我对 jQuery 参考的阅读,它应该删除了 .ui-wrapper 和里面的所有东西。但它只是删除了外部 ui-wrapper,并留下了 img 元素。

有谁知道发生了什么?

谢谢

4

2 回答 2

2

这是因为 draggable 是一个数组。您可以像这样删除第一个可拖动对象:

ui.draggable[0].remove()
于 2013-07-29T00:33:37.213 回答
0

我真的不知道为什么,稍后我会研究 jQuery-UI 核心并更新答案,但我确信它与事件触发的顺序有关

作为解决方法,你可以做

var ele = e.toElement ? e.toElement : e.relatedTarget; 
$(ele).remove();

暂且。

三元检查是为了支持跨浏览器。

于 2013-07-29T00:30:50.420 回答