2012-03-03 31 views
0

我有一個絕對定位的元素作爲<body>的最後一個子元素。它被拖拽。我有這個元素的x,y位置,並且想要找出它下面的可視元素。檢測被拖動對象下的元素

我聽說過document.getElementFromPoint(x, y)方法。但顯然這隻會返回被拖動的元素,因爲它是z-index堆棧頂部的元素。也因爲這個元素的唯一父母是<body>這使事情變得更加困難。

有什麼想法?

(PS。我需要一個純JavaScript解決方案)。

+0

如果一個元素被拖拽到元素上,'dragenter'和'dragover'被觸發。你可以使用這些。看看https://developer.mozilla.org/En/DragDrop/Drag_Operations – 2012-03-03 15:24:43

回答

0

我不確定你想要達到什麼樣的效果,但看看jQuery UI DraggableDroppable,最重要的是後者可以很容易地處理支持其他元素的元素的行爲,拖過去。

+0

哦,我剛剛讀了PS,對不起,如果是純JS,那你的意思就是沒有jQuery。 – 2012-03-03 15:18:20

1

根據你在做什麼,拖放的狀態並不那麼熱。 Jquery的實現只在某些情況下(不是我一直在開發的那個)有效,HTML5中的dragenter/dragover規範是一團糟。

如果您可以使用jQuery UI的解決方案,請這樣做。否則,你必須維護一個符合可拖動目標的對象列表,並且在拖動對象時循環檢查每個對象(我有一個相當複雜的拖放應用程序,它是我們正在做的事情,如果還有另一個可行的解決方案,我很樂意聽到它)。

相關問題