Heim > Web-Frontend > H5-Tutorial > Hauptteil

HTML5-Drag-and-Drop-Vorgang HTML5 implementiert den Drag-and-Drop-Vorgang von Webseitenelementen. HTML5-Tutorial-Fähigkeiten

WBOY
Freigeben: 2016-05-16 15:50:34
Original
1571 Leute haben es durchsucht

Vor HTML5 mussten Sie sich zum Implementieren des Drag-and-Drop-Vorgangs von Webseitenelementen auf Mousedown, Mousemove, Mouseup und andere APIs verlassen, die über eine große Menge JS-Code implementiert wurden Unterstützt Drag-and-Drop-Vorgänge, wodurch Webseitenelemente erheblich vereinfacht werden. Es ist schwierig, Drag-and-Drop-Vorgänge zu programmieren. Diese APIs unterstützen nicht nur Drag-and-Drop von Elementen innerhalb des Browsers, sondern auch das gegenseitige Ziehen von Daten zwischen dem Browser und anderen Anwendungen.

In diesem Artikel wird anhand eines einfachen Beispiels die Verwendung der Drag-and-Drop-API in HTML5 demonstriert.

Szene:

Wie in der Abbildung unten gezeigt, wollen wir Folgendes erreichen:

Ziehen Sie das Foto durch Ziehen und Ablegen aus dem Bereich „Album“ auf der rechten Seite. Der Abschnitt „Warme Tipps“ sollte Sie daran erinnern, dass das Ziehen und Ablegen erfolgt Der Vorgang läuft derzeit


Implementierungsmethode:

Der HTML-Code der obigen Schnittstelle ist relativ einfach und lautet wie folgt:

Kopieren Sie den Code
Der Code ist wie folgt:




HTML5 implementiert den Drag-and-Drop-Vorgang





Warme Erinnerung: Sie können das Foto direkt in den Papierkorb ziehen




Album







Papierkorb< ;/h2>







Hinweis: Wenn Sie Wenn Sie den Drag-and-Drop-Vorgang implementieren möchten, müssen Sie dem Element, das per Drag-and-Drop verschoben werden soll, das Attribut „draggable="true" hinzufügen Fügen Sie als Nächstes einfach den folgenden JS-Code zum Onload-Ereignis hinzu. Die Kommentare sind sehr detailliert und werden nicht separat erläutert.



Code kopierenDer Code lautet wie folgt:

<script><br> function init(){<br> var info = document.getElementById("info");<br> //Das per Drag & Drop gezogene Element abrufen, in diesem Beispiel befindet sich das Fotoalbum ist DIV<br> var src = document.getElementById("album");<br> //Drag-and-Drop-Vorgang starten<br> src.ondragstart = function (e) {<br> //ID abrufen von das gezogene und abgelegte Foto <br> var dragImgId = e.target.id;<br> //Gezogenes Element abrufen<br> var dragImg = document.getElementById(dragImgId);<br> //Drag-and-Drop-Vorgang endet<br> dragImg.ondragend = function(e){<br> //Erinnerungsinformationen wiederherstellen<br> info.innerHTML="<h2>Warme Erinnerung: Sie können das Foto direkt in den Papierkorb ziehen</h2>"; <br> }; <br> e.dataTransfer.setData("text",dragImgId);<br> };<br> //Während des Drag-and-Drop-Vorgangs <br> src.ondrag = function(e){ <br> info.innerHTML=" <h2>--Das Foto wird gezogen--</h2>";<br> }<br> //Drag-and-Drop-Zielelement abrufen<br> var target = document. getElementById("trash"); <br> //Standardverarbeitung deaktivieren; <br> target.ondragover = function(e){<br> e.preventDefault();<br> }<br> target.ondragover = function (e){<br> e .preventDefault(); <br> }<br> //Etwas wird per Drag & Drop auf das Zielelement gezogen <br> target.ondrop = function (e) {<br> var draggedID = e .dataTransfer.getData("text"); <br> //Das DOM-Objekt im Album abrufen <br> var oldElem = document.getElementById(draggedID);<br> //Knoten des Fotos aus dem Album DIV entfernen <br> oldElem.parentNode.removeChild(oldElem); <br> //Den gezogenen Foto-DOM-Knoten zum Papierkorb hinzufügen DIV <br> target.appendChild(oldElem);<br> info.innerHTML="<h2&gt ;Warmer Tipp: Sie können das Foto direkt in den Papierkorb ziehen</h2>";<br> e.preventDefault();<br> }<br> }<br> </script>

um den Effekt zu erzielen:

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage