Dra data till ett HTML-element

Adobe AIR 1.0 och senare

Standardbeteendet tillåter bara att text dras till redigerbara områden på sidan. Du kan ange att ett element och dess underordnade ska göras redigerbara genom att ta med attributet contenteditable i elementets inledande kod. Du kan också göra hela dokumentet redigerbart genom att ställa in dokumentobjektets designMode -egenskap på "on" .

Du kan använda ett annat indragningsbeteende på en sida genom att hantera händelserna dragenter , dragover och drop för alla element som accepterar data som dras.

Aktivera indragning

För att du ska kunna hantera indragningsgesten måste du först avbryta standardbeteendet. Avlyssna händelserna dragenter och dragover för alla HTML-element som du vill använda som släppmål. I hanterarna för dessa händelser anropar du metoden preventDefault() för det skickade händelseobjektet. Om du avbryter standardbeteendet kan icke redigerbara områden ta emot en släppning.

Hämta släppta data

Du har åtkomst till den släppta datan i hanteraren för händelsen ondrop :

function doDrop(event){ 
    droppedText = event.dataTransfer.getData("text/plain"); 
}

Använd metoden dataTransfer.getData() om du vill läsa data i Urklipp, och skicka MIME-typen för det dataformat som ska läsas. Du tar reda på vilka dataformat som är tillgängliga med egenskapen types för objektet dataTransfer . Arrayen types innehåller MIME-typsträngen för respektive tillgängligt format.

När du avbryter standardbeteendet för händelsen dragenter eller dragover, ansvarar du för att infoga alla släppta data på rätt plats i dokumentet. Det finns inget API för att konvertera muspositionen till en insättningspunkt i ett element. Den här begränsningen kan göra det svårt att implementera dragningsgester av infogningstyp.