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.
|
|
|