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