O comportamento padrão permite que a maior parte do conteúdo em uma página HTML seja copiada pela ação de arrastar. Você pode controlar o conteúdo permitido a ser arrastado usando as propriedades CSS
-webkit-user-select
e
-webkit-user-drag
.
Substitua o comportamento padrão de arrastar para fora no manipulador para o evento
dragstart
. Chame o método
setData()
da propriedade
dataTransfer
do objeto de evento para colocar seus próprios dados no gesto de arrastar.
Para indicar que efeitos de arrastar um objeto de origem suporta quando você não está contando com o comportamento padrão, define a propriedade
dataTransfer.effectAllowed
do objeto de evento despachado para o evento
dragstart
. Você pode escolher qualquer combinação de efeitos. Por exemplo, se um elemento de origem suportar os efeitos
copy
e
link
, defina a propriedade como
"copyLink"
.
Definição dos dados arrastados
Adicione os dados para o gesto de arrastar no manipulador para o evento
dragstart
com a propriedade
dataTransfer
. Use o método
dataTransfer.setData()
para colocar dados na área de transferência, transmitindo o tipo MIME e os dados a transferir.
Por exemplo, se você tinha um elemento de imagem no seu aplicativo, com a id
imageOfGeorge
, você poderia usar o seguinte manipulador de eventos dragstart. Esse exemplo adiciona representações de uma imagem de George em vários formatos de dados, que aumenta a probabilidade de que outros aplicativos possam usar os dados arrastados.
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));
}
Nota:
Quando você chama o método
setData()
de objeto
dataTransfer
, nenhum dado é adicionado pelo comportamento padrão de arrastar e soltar.
|
|
|