2012-03-03 2 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 –

ответ

0

Я не уверен, что именно вы хотели бы достичь, но взглянуть на JQuery UI Draggable и Droppable, самое главное позже, что делает его легко манипулировать поведением элементов, которые поддерживают другие элементы при падении на них или перетащили их.

+0

О, я просто прочитал PS, извините, если чистым JS вы не хотели jQuery. –

1

В зависимости от того, что вы делаете, состояние перетаскивания не так жарко. Реализация JQuery работает только в некоторых ситуациях (не в той, которую я разрабатывал), а спецификация dragenter/dragover в HTML5 - это беспорядок.

Если вы можете использовать решение jQuery UI, сделайте это. В противном случае вам нужно будет поддерживать список объектов, которые могут считаться перетаскиваемыми целями, и циклически проверять каждый из них при перемещении объекта (у меня довольно сложное приложение перетаскивания, его то, что мы делаем, если есть еще одно жизнеспособное решение, которое я бы хотел его услышать).

Смежные вопросы