Bir HTML öğesinden veri sürüklemek

Adobe AIR 1.0 ve üstü

Varsayılan davranış, bir HTML sayfasındaki içeriğin çoğunun sürüklenerek kopyalanmasına izin verir. Sürüklenmesine izin verilen içeriği, -webkit-user-select ve -webkit-user-drag CSS özelliklerini kullanarak kontrol edebilirsiniz.

dragstart olayı için işleyicideki varsayılan dışarı sürükleme davranışını geçersiz kılın. Sürükleme hareketine kendi verilerinizi koymak için, olay nesnesinin dataTransfer özelliğinin setData() yöntemini çağırın.

Varsayılan davranışa bağlı olmadığınızda bir kaynak nesnenin hangi sürükleme efektlerini desteklediğini belirtmek için, dragstart olayı için gönderilen olay nesnesinin dataTransfer.effectAllowed özelliğini ayarlayın. İstediğiniz efekt kombinasyonunu seçebilirsiniz. Örneğin bir kaynak öğesi hem kopyalama hem de bağ verme efektlerini destekliyorsa, özelliği "copyLink" olarak ayarlayın.

Sürüklenen verileri ayarlama

dataTransfer özelliğini kullanarak sürükleme hareketi için verileri dragstart olayının işleyicisine ekleyin. Panoya veri koymak için, aktarılacak MIME türünü ve verileri ileterek dataTransfer.setData() yöntemini kullanın.

Örneğin uygulamanızda imageOfGeorge kimliğine sahip bir görüntü öğesi varsa, aşağıdaki dragstart olay işleyicisini kullanabilirsiniz. Bu örnek George'un bir resminin birçok veri biçimindeki temsillerini ekler, bu da diğer uygulamaların sürüklenen verileri kullanabilme olasılığını artırır.

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)); 
}
Not: dataTransfer nesnesinin setData() yöntemini çağırdığınızda, varsayılan sürükle ve bırak davranışı tarafından hiç veri eklenmez.