2015-10-15 4 views
0

Я использую перетаскивание HTML5, и у меня есть цели сбрасывания, которые могут быть либо пустыми <div>, либо <div> с <img> в качестве дочернего узла.Обработка перетаскивания с помощью вложенных элементов HTML?

Чтобы сделать цель падений divs, я устанавливаю onDrop= на те divs.

Если я заканчиваю падение на div, содержащем изображение, e.target - это узел изображения.

Если я заканчиваю падение на пустой div, e.target - это div.

Чтобы обработать падение, мне нужно найти идентификатор div, а так как e.target может быть либо изображением, либо div, я проверяю e.target.parentNode на случай, если я не найду информацию, которую я ищу в e.target.

Есть ли способ, который я могу настроить, чтобы e.target всегда был div? Или ищет стандартную процедуру работы с цепочкой parentNode?

+0

'e.target.parentNode' в порядке! –

+0

, если вы установите прослушиватель событий в div, тогда 'this' является div, кстати, не помещайте прослушиватели событий в HTML, поместите их в javascript – Saar

+0

@Saar - ok Я попробую. Я использую реакцию, поэтому я настраиваю слушателей в HTML - если нет лучшего способа. – ErikR

ответ

0

Это старый вопрос, но ответ может помочь кому-то. Используйте DIV элемент, как показано ниже:

<div id="my-div" onDrop="dropped('my-div');"> 
    ... 
</div> 

Вы всегда получите идентификатор «мой-DIV» в dropped даже если падение произошло на ребенка на любом уровне.

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