#div1 {width :350px;height:70px;padding:10px;border:1px solid #aaaaaa;} #div1 {width :350px;height:70px;padding:10px;border:1px solid #aaaaaa;}

Heim >Web-Frontend >H5-Tutorial >Implementierungscode für die HTML5-Drag-and-Drop-Funktion

Implementierungscode für die HTML5-Drag-and-Drop-Funktion

黄舟
黄舟Original
2017-02-20 13:35:331464Durchsuche

In HTML5 ist Drag-and-Drop Teil des Standards und jedes Element kann per Drag-and-Drop verschoben werden. Der spezifische Inhalt ist wie folgt:
Drag-and-Drop

<!DOCTYPE HTML>  

    <html>  

    <head>  

    <style type="text/css">  

    #p1 {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>  

    <p id="p1" ondrop="drop(event)" ondragover="allowDrop(event)"></p>  

    <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: 923e58fd4899cd636faa893b3ad56c50

3. Was gezogen werden soll – ondragstart und setData()

Geben Sie dann an, was passieren soll, wenn das Element wird gezogen. 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 soll der Ondragover platziert werden?

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 den Aufruf der event.preventDefault()-Methode des ondragover-Ereignisses: event.preventDefault()

5. Ort - ondrop

wann Wenn die gezogenen Daten abgelegt werden, tritt das Drop-Ereignis auf. 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));   

    }



Codeerklärung:

Rufen Sie PreventDefault() auf, um die Standardverarbeitung von Daten durch den Browser zu verhindern (das Standardverhalten des Drop-Ereignisses besteht darin, 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.

Das Obige ist der Inhalt des Implementierungscodes für die HTML5-Drag-and-Drop-Funktion. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Stellungnahme:
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