我有一個絕對定位的元素作爲<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