检测被拖动对象下的元素

时间:2012-03-03 15:00:14

标签: javascript

我有一个绝对定位的元素作为<body>的最后一个孩子。它被拖了。我有这个元素的x,y位置,想要找出它下面的视觉元素。

我听说过document.getElementFromPoint(x, y)方法。但很明显,这只会返回被拖动的元素,因为它是z-index堆栈顶部的元素。另外因为这个元素的唯一父元素是<body>,这会让事情变得更加困难。

有什么想法吗?

(PS。我需要一个纯粹的JavaScript解决方案)。

2 个答案:

答案 0 :(得分:1)

根据您的操作,拖放状态不是很热。 Jquery的实现只适用于某些情况(不是我一直在开发的那种情况),HTML5中的dragenter / dragover规范是一团糟。

如果您可以使用jQuery UI的解决方案,请执行此操作。否则,您将必须维护一个符合可拖动目标的对象列表,并在您拖动对象时循环检查每个对象(我有一个相当复杂的拖放应用程序,它是我们正在做的,如果还有另一个我喜欢听的可行解决方案。)

答案 1 :(得分:0)

我不确定你想要实现什么但是看看jQuery UI DraggableDroppable,最重要的是后者可以很容易地操纵支持的元素的行为其他元素被丢弃或拖过它们。