HTML5拖放

拖放是一种常见的特性,即抓取对象以后拖到另一个位置,在HTML5中,拖放是标准的一部分,任何元素都能够拖放。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5拖放</title>
    <style type="text/css">
        #div1 {
            width: 200px;
            height: 200px;
            background-color: deeppink;
            border:1px solid #aaaaaa;
        }
        #drag1{
            width: 100px;
            height: 100px;
            background-color: lawngreen;
        }
    </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>拖动小盒子到大盒子中:</p>
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    <br/>
    <div id="drag1" draggable="true" ondragstart="drag(event)"></div>
</body>
</html>

将一个可拖动的段落在两个框里来回拖动:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5拖放</title>
    <style type="text/css">
        #div1, #div2 {
            float:left;
            width:200px;
            height:100px;
            margin: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>
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
        <p id="drag1" draggable="true" ondragstart="drag(event)">这是一个可拖动的段落</p>
    </div>
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

</body>
</html>

draggable 属性规定元素是否可拖动。

<element draggable="true|false|auto">

属性值

描述
true 规定元素是可拖动的。
false 规定元素是不可拖动的。
auto 使用浏览器的默认特性。


猜你喜欢

转载自blog.csdn.net/sleepwalker_1992/article/details/80433420