Arrastar dados para dentro de um elemento HTML
Adobe AIR 1.0 e posterior
O comportamento padrão apenas permite que texto seja arrastado em regiões editáveis da página. Você pode especificar que um elemento e seus filhos podem se tornar editáveis incluindo o atributo
contenteditable
na tag de abertura do elemento. Você também pode tornar um documento inteiro editável definindo a propriedade
designMode
de objeto de documento como
"on"
.
Você pode suportar um comportamento alternativo de arrastar para dentro em uma página manipulando os eventos
dragenter
,
dragover
e
drop
para qualquer elemento que pode aceitar dados arrastados.
Ativação de arrastar para dentro
Para manipular o gesto de arrastar para dentro, você deve primeiro cancelar o comportamento padrão. Ouça os eventos
dragenter
e
dragover
em qualquer elemento HTML que deseja usar como destinos de soltar. Nos manipuladores desses eventos, chame o método
preventDefault()
do objeto de evento despachado. Cancelar o comportamento padrão permite que regiões não editáveis recebam uma ação de soltar.
Obtenção de dados soltos
Você pode acessar os dados soltos no manipulador para o evento
ondrop
:
function doDrop(event){
droppedText = event.dataTransfer.getData("text/plain");
}
Use o método
dataTransfer.getData()
para ler dados na área de transferência, transmitindo o tipo MIME do formato de dados a ler. Você pode descobrir que formatos de dados estão disponíveis usando a propriedade
types
do objeto
dataTransfer
. A matriz
types
contém a sequência de caracteres de tipo MIME de cada formato disponível.
Quando você cancela o comportamento padrão nos eventos dragenter ou dragover, você é responsável por inserir qualquer dado solto em seu próprio lugar no documento. Nenhuma API existe para converter uma posição do mouse em um ponto de inserção dentro de um elemento. Essa limitação pode dificultar a implementação de gestos de arrastar de tipo de inserção.
|
|
|