Мое предположение: потому что e.target
при наведении мыши может ссылаться на элемент, который вы перетаскиваете (или его призрак-перетаскивание). Если вы перетаскиваете элемент, и он (или полупрозрачный элемент-призрак) следует за вашим курсором, как при перетаскивании файла на рабочем столе, ваша мышь будет всегда находиться над элементом, который вы перетаскиваете, при наведении мыши -до.
В качестве альтернативы, если нет следования за курсором и появления двоений, e.target
может ссылаться на элемент внутри "элемента dropzone", а не на саму droppoint.
Например:
<div id="dropzone_element">
<div id="previously_dropped_element" />
<div>
<div id="draggable_element" />
Таким образом, если вы перетаскиваете перетаскиваемый элемент поверх элемента dropzone и отпускаете мышь, вы фактически отпускаете мышь над ранее отпущенным элементом внутри dropzone; не сама дропзона.
В обоих случаях проверка положения мыши - единственный способ получить правильный элемент dropzone.
Это были бы мои догадки, но у меня нет IE, чтобы проверить реальное поведение.
Редактировать: В 1-м случае проверка положения является единственным способом. Во втором случае вы также можете проверить предков цели, чтобы найти элемент dropzone, как указано в комментариях aephus. Если, то есть, ранее удаленный элемент фактически был вставлен в иерархию Dropzone, а не просто размещен так, как это выглядит - хотя это было бы действительно странно:)