Domyślne zachowanie umożliwia kopiowanie przez przeciąganie większość treści strony HTML. Programista może sterować treścią, która może być przeciągana za pomocą właściwości CSS
-webkit-user-select
i
-webkit-user-drag
.
Domyślne zachowanie przeciągania na zewnątrz należy przesłonić w module obsługi dla zdarzenia
dragstart
. Aby wstawić własne dane do gestu przeciągania, należy wywołać metodę
setData()
właściwości
dataTransfer
obiektu zdarzenia.
Aby wskazać, które z efektów przeciągania obsługiwane są przez obiekt źródłowy, jeśli domyślne zachowanie nie jest przekazywane, należy ustawić właściwość
dataTransfer.effectAllowed
obiektu zdarzenia wywołanego dla zdarzenia
dragstart
. Można wybrać dowolną kombinację efektów. Na przykład, jeśli źródłowy element obsługuje efekty
kopiowanie
i
łączenie
, właściwość należy ustawić na wartość
"copyLink"
.
Ustawianie przeciąganych danych
Dane dla gestu przeciągania należy dodać w module obsługi dla zdarzenia
dragstart
za pomocą właściwości
dataTransfer
. Aby wstawić dane do schowka, należy użyć metody
dataTransfer.setData()
, przekazując typ MIME i dane do przeniesienia.
Na przykład, jeśli w aplikacji programisty znajduje się obraz o identyfikatorze
imageOfGeorge
, można użyć następującego modułu obsługi zdarzenia dragstart. Ten przykład dodaje reprezentacje obrazu George'a w kilku formatach danych, co zwiększa prawdopodobieństwo, że inne aplikacje będą mogły użyć przeciąganych danych.
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));
}
Uwaga:
Wywołanie metody
setData()
obiektu
dataTransfer
powoduje, że żadne dane nie zostaną dodane przez domyślne zachowanie przeciągania i upuszczania.
|
|
|