In HTML5 gehört Drag & Drop zum Standard und jedes Element kann per Drag & Drop verschoben werden. Hier ist ein Fall mit Drag & Drop-Funktion, der mit H5 erstellt wurde. Werfen wir einen Blick darauf.
<!DOCTYPE HTML> <html> <head> <style type="text/css"> #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;} </style> <script> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); } function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); } </script> </head> <body> <p>拖动 W3CSchool.cc 图片到矩形框中:</p> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br> <img id="drag1" src="/images/logo.png" draggable="true" ondragstart="drag(event)" width="336" height="69"> </body> </html>
2. Legen Sie fest, dass das Element ziehbar ist
Um das Element ziehbar zu machen, setzen Sie zunächst das ziehbare Attribut auf true:
3. Was gezogen werden soll – ondragstart und setData()
Geben Sie dann an, was passieren soll, wenn das Element gezogen wird. Im obigen Beispiel ruft das Attribut ondragstart die Funktion „drag(event)“ auf, die die zu ziehenden Daten angibt. Die Methode dataTransfer.setData() legt den Datentyp und den Wert der gezogenen Daten fest:
function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); }
In diesem Beispiel ist der Datentyp „Text“ und der Wert ist die ID des ziehbaren Elements („ Drag1") .
4. Wo platziert werden soll – ondragover
Das ondragover-Ereignis gibt an, wo die gezogenen Daten platziert werden sollen. Standardmäßig können Daten/Elemente nicht in anderen Elementen platziert werden. Wenn wir die Platzierung zulassen müssen, müssen wir die Standardbehandlung des Elements verhindern. Dies geschieht durch Aufrufen der Methode event.preventDefault() des Ereignisses ondragover: event.preventDefault()
5. Platzieren – ondrop
Wenn die gezogenen Daten platziert werden, wird ein Drop-Ereignis ausgelöst geschehen. Im obigen Beispiel ruft das Ondrop-Attribut eine Funktion auf, drop(event):
function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); }
Code-Erklärung:
Rufen Sie PreventDefault() auf, um die Standardverarbeitung von Daten durch den Browser zu vermeiden ( Die Standardeinstellung Das Verhalten des Drop-Ereignisses besteht darin, es als Link zu öffnen. Erhalten Sie die gezogenen Daten über die Methode dataTransfer.getData("Text"). Diese Methode gibt jeden Datensatz in den gleichen Typ wie in der setData()-Methode zurück. Die gezogenen Daten sind die ID des gezogenen Elements („drag1“). Hängen Sie das gezogene Element an das abgelegte Element (Zielelement) an.
Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Verwandte Lektüre:
So erstellen Sie einen Drag-Effekt in H5
Detaillierte Einführung in die allgemeine Benutzeroberfläche von H5
So verwenden Sie postMessage, um Daten zwischen zwei Webseiten in H5 zu übertragen
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Drag-and-Drop-Funktion in H5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!