HTML5 slepen en neerzetten eenvoudig gemaakt: HTML5 versleepbare objecten maken

TL; DR – Met de HTML5 slepen en neerzetten API kunt u pak een HTML-object met uw cursor en sleep het naar een andere plaats.

Wat kunt u slepen en neerzetten in HTML5?

HTML5 stelt je in staat om elk element versleepbaar te maken, zodat je het met je cursor kunt oppakken en naar een andere locatie kunt slepen die is gedefinieerd als een verwijderbaar element. Probeer in het onderstaande voorbeeld een afbeelding naar een vierkant te slepen:

Deze functionaliteit vereenvoudigt de gebruikerservaring en maakt het zelfs mogelijk om eenvoudige online spellen te maken (je kunt bijvoorbeeld virtuele schaakstukken slepen en neerzetten). Wanneer u een element sleept, beweegt de transparante replica mee met uw cursor totdat u het neerzet door de muisknop los te laten.

Technisch gezien is slepen en neerzetten een JavaScript-API die is toegevoegd aan HTML5. Daarom is het belangrijk om ten minste basiskennis van scripting te hebben om met deze functionaliteit te kunnen werken.

Gebeurtenissen voor HTML5 Drag and Drop

In de onderstaande tabel ziet u alle gebeurtenissen die relevant zijn voor slepen en neerzetten:

Evenement Uitleg
slepen De cursor beweegt tijdens het slepen van een element
drop Het slepen is voltooid
dragstart De cursor pikt het element op en begint te slepen
dragend De muisknop wordt losgelaten, het element laat vallen
dragenter De cursor voert het doelelement in
dragleave De cursor verlaat het doelelement
sleepover De cursor beweegt over het doelelement

Stap voor stap uitleg van slepen en neerzetten

HTML5-codering met slepen en neerzetten lijkt op het eerste gezicht vrij ingewikkeld omdat het scripting in JS omvat. Laten we echter elk onderdeel van het proces bestuderen om het gemakkelijker te begrijpen.

Versleepbare elementen

Eerst moet u ervoor zorgen dat het element dat u wilt slepen een HTML5 draggable kenmerk toegepast en de waarde ervan is ingesteld op true:

Voorbeeld

Slepen

Definieer vervolgens wat er moet gebeuren nadat u een object hebt gesleept. U kunt dit doen door aan te roepen een gebeurtenishandler voor een dragstart -gebeurtenis en het definiëren van een uit te voeren functie.

De waarde en het gegevenstype van de gesleepte gegevens moeten worden ingesteld door de dataTransfer.setData() methode:

Voorbeeld

Dropping

De HTML5 versleepbare gegevens worden gespecificeerd door een gebeurtenishandler te koppelen aan de dragover gebeurtenis.

Elementen en gegevens kunnen niet worden standaard in andere elementen geplaatst. Dit betekent dat je de elementen moet stoppen standaardgedrag met behulp van de event.preventDefault() methode:

Voorbeeld

Een drop -gebeurtenis vindt plaats wanneer de versleepbare HTML5-gegevens worden verwijderd. Het wordt aangeroepen door de ondrop gebeurtenishandler:

De laatste code: een voorbeeld

In principe heb je je code nodig om voer vier stappen uit:

  • Voorkom de standaardactie van de webbrowser met betrekking tot de gegevens door preventDefault()
  • Haal de gegevens op met de dataTransfer.getData() methode
  • Bevestig het gesleepte element op het neerzetelement

Laten we eens kijken hoe het werkt in de voorbeeld hieronder:

HTML5 slepen en neerzetten: handige tips

  • U kunt verschillende soorten elementen slepen, inclusief maar niet beperkt tot bestanden, links, afbeeldingen en tekst.
  • U kunt ook meerdere elementen tegelijk slepen. Het wordt echter aanbevolen om ze allemaal in hetzelfde formaat te hebben voor consistentie.
  • Formulierelementen die gebruikersinvoer accepteren, kunnen standaard verwijderbare gebieden zijn.

Browserondersteuning

Chrome

46+

Edge

Alle

Firefox

3.5+

IE

10+

Opera

Alles

Safari

3.1+

Mobiele browser ondersteuning

Chrome

Firefox

All

Opera

Safari

Leave a Reply

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *