Перетаскивание данных из HTML-элемента

Adobe AIR 1.0 и более поздних версий

Поведение по умолчанию позволяет копировать большую часть HTML-содержимого перетаскиванием. Содержимое, которое можно перетаскивать, контролируется свойствами CSS -webkit-user-select и -webkit-user-drag .

Переопределите поведение жеста «перетаскивания из» по умолчанию в обработчике события dragstart . Вызовите метод setData() свойства dataTransfer объекта события для включения собственных данных в перетаскивание.

Если поведение по умолчанию не используется, то для указания поддерживаемых объектом-источником эффектов перетаскивания необходимо задать свойство dataTransfer.effectAllowed объекта события, отправляемого в ответ на dragstart . Может быть выбрано любое сочетание эффектов. Например, если элемент-источник поддерживает и эффект copy , и эффект link , задайте свойству значение "copyLink" .

Настройка перетаскиваемых данных

Добавьте данные для жеста перетаскивания в обработчик события dragstart с помощью свойства dataTransfer . С помощью метода dataTransfer.setData() данные помещаются в буфер обмена, при этом передается тип MIME и перемещаемые данные.

Например, если в приложении присутствует некое изображение с идентификатором imageOfGeorge , можно использовать показанный ниже обработчик события dragstart. В этом примере добавляются представления изображения в разных форматах данных, что увеличивает список приложений, которые смогут использовать перетаскиваемые данные.

function dragStartHandler(event){         
    event.dataTransfer.effectAllowed = "copy"; 
     
    var dragImage = document.getElementById("imageOfGeorge"); 
    var dragFile = new air.File(dragImage.src); 
    event.dataTransfer.setData("text/plain","A picture of George"); 
    event.dataTransfer.setData("image/x-vnd.adobe.air.bitmap", dragImage); 
    event.dataTransfer.setData("application/x-vnd.adobe.air.file-list", 
                                new Array(dragFile)); 
}
Примечание. При вызове метода setData() объекта dataTransfer поведение перетаскивания по умолчанию не подразумевает добавления каких-либо данных.