Gegevens naar een HTML-element slepen

Adobe AIR 1.0 of hoger

Bij het standaardgedrag mag alleen tekst worden gesleept naar bewerkbare gebieden van de pagina. U kunt opgeven dat een element en de onderliggende elementen bewerkbaar mogen worden gemaakt, door het kenmerk contenteditable op te nemen in de openingscode van het element. U kunt ook een heel document bewerkbaar maken door de eigenschap designMode van het documentobject in te stellen op "on" .

U kunt alternatief insleepgedrag op een pagina mogelijk maken door het verwerken van de gebeurtenissen dragenter , dragover en drop voor alle elementen die gesleepte gegevens kunnen accepteren.

Inslepen mogelijk maken

Als u de insleepbeweging wilt afhandelen, moet u eerst het standaardgedrag annuleren. Luister naar de gebeurtenissen dragenter en dragover van alle HTML-elementen die u wilt gebruiken als neerzetdoelen. Roep in de handlers voor deze gebeurtenissen de methode preventDefault() van het verzonden gebeurtenisobject aan. Als u het standaardgedrag annuleert, mogen niet-bewerkbare gebieden neergezette gegevens ontvangen.

Neergezette gegevens ophalen

U kunt de neergezette gegevens ophalen in de handler voor de gebeurtenis ondrop :

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

Gebruik de methode dataTransfer.getData() om de gegevens op het klembord te lezen en geef daarbij het MIME-type door van de gegevensindeling die u wilt lezen. Met de eigenschap types van het object dataTransfer kunt u te weten komen welke gegevensindelingen beschikbaar zijn. De array types bevat de MIME-typetekenreeks van elke beschikbare indeling.

Wanneer u het standaardgedrag in de gebeurtenis dragenter of dragover annuleert, bent u er verantwoordelijk voor dat neergezette gegevens op de juiste plaats in het document worden ingevoegd. Er bestaat geen API om een muispositie te converteren naar een invoegpositie in een element. Hierdoor kan het moeilijk zijn om sleepbewegingen voor invoegbewerkingen te implementeren.