2013-10-07 2 views
1

Я разрабатываю HTML5 Drag-And-Drop на теге моего тела. Изображения можно отбрасывать в любом месте. Когда я опускаю тег (div, абзацы и т. Д.), Он работает правильно. (Мне действительно нужно добавить в этих случаях). Когда я опускаюсь на тело, он будет помещен перед всеми другими элементами. Как я могу добавлять данные в определенном месте (event.clientX и event.clientY), когда он находится в теге body?Как добавить содержимое передачи данных в определенном месте при событии dropback HTML5

document.elementFromPoint() дайте мне тег BODY.

Идентификатор содержимого - это тег 'body'.

$('#content') 
    .bind('drop', function(event){ 
     event.preventDefault(); 
     var data=event.originalEvent.dataTransfer.getData("Text");   
     $(event.originalEvent.target).prepend(data); 
    }) 

; 

ответ

0

Просто проверьте, если цель мероприятия является тело и дать другую цель в этом случае:

$('#content').bind('drop', function(event){ 
    event.preventDefault(); 
    var data = event.originalEvent.dataTransfer.getData("Text"); 

    if (event.originalEvent.target.id == 'content') 
     $('#divForOtherImages').append(data); 
    else 
     $(event.originalEvent.target).prepend(data); 
}); 
+0

На самом деле мне нужно, чтобы добавить его на теле. Это добавит данные в конкретный div. Если я опустился между двумя абзацами, мне нужно добавить данные между ними. –

+0

Хорошо, я понял это неправильно. В вашем случае вам, вероятно, придется получить координаты из события drop и проверить их на позиции всех элементов вашего тела. – Raidri

+0

, поэтому мне нужно использовать 'document.elementFromPoint()' начиная с координат падения и возвращаться, пока не найдет элемент без тела? –

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