我有一个绝对定位的元素作为<body>
的最后一个子元素。它被拖拽。我有这个元素的x,y位置,并且想要找出它下面的可视元素。检测被拖动对象下的元素
我听说过document.getElementFromPoint(x, y)
方法。但显然这只会返回被拖动的元素,因为它是z-index堆栈顶部的元素。也因为这个元素的唯一父母是<body>
这使事情变得更加困难。
有什么想法?
(PS。我需要一个纯JavaScript解决方案)。
我有一个绝对定位的元素作为<body>
的最后一个子元素。它被拖拽。我有这个元素的x,y位置,并且想要找出它下面的可视元素。检测被拖动对象下的元素
我听说过document.getElementFromPoint(x, y)
方法。但显然这只会返回被拖动的元素,因为它是z-index堆栈顶部的元素。也因为这个元素的唯一父母是<body>
这使事情变得更加困难。
有什么想法?
(PS。我需要一个纯JavaScript解决方案)。
根据你在做什么,拖放的状态并不那么热。 Jquery的实现只在某些情况下(不是我一直在开发的那个)有效,HTML5中的dragenter/dragover规范是一团糟。
如果您可以使用jQuery UI的解决方案,请这样做。否则,你必须维护一个符合可拖动目标的对象列表,并且在拖动对象时循环检查每个对象(我有一个相当复杂的拖放应用程序,它是我们正在做的事情,如果还有另一个可行的解决方案,我很乐意听到它)。
如果一个元素被拖拽到元素上,'dragenter'和'dragover'被触发。你可以使用这些。看看https://developer.mozilla.org/En/DragDrop/Drag_Operations – 2012-03-03 15:24:43