HTML拖(drag)放(drop)功能

HTML页面拖放功能的实现

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>drag & drop</title>
    <style>
        #div {
            width: 200px;
            height: 200px;
            border: 1px solid gray;
        }
    </style>
</head>

<body>
    <img src="./1.jpg" draggable="true" ondragstart="dragStart(event)">
    <div id="div" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

    <script>
        function dragStart(e) {
            e.dataTransfer.setData("Text", "拖动传输的数据");
        }
        function drop(e) {
            e.preventDefault();
            var data = e.dataTransfer.getData("Text");
            e.target.innerText = data
        }
        function allowDrop(e) {
            e.preventDefault();
        }
    </script>
</body>

</html>

draggable

一个枚举属性,指示是否可以使用拖放API拖放元素。它可以有以下值:
true,表示该元素可以被拖动
false,表示该元素不能被拖动

ondragstart

用户开始拖动一个元素或文本选择。
e.dataTransfer.setData()方法设置被拖数据的数据类型和值

ondrop

1. 调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)
2. 通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据

ondragover

1. ondragover 事件规定在何处放置被拖动的数据
2. 默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。这要通过调用 ondragover 事件的 event.preventDefault() 方法

HTML拖(drag)放(drop)功能

上一篇:Element upload 组件实现自定义上传功能


下一篇:谷歌 12 月 6 日将向 Nexus 推送 Android 7.1.1