首页前端开发其他前端知识HTML5的drag和drop怎么使用

HTML5的drag和drop怎么使用

时间2024-03-28 00:46:03发布访客分类其他前端知识浏览876
导读:这篇文章主要给大家介绍“HTML5的drag和drop怎么使用”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“HTML5的drag和drop怎么使用”文章能对大家有所帮助。...
这篇文章主要给大家介绍“HTML5的drag和drop怎么使用”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“HTML5的drag和drop怎么使用”文章能对大家有所帮助。

   

5分钟弄清楚html5的drag and drop,及其他监听事件和执行的次序。

示例如下:
!DOCTYPE html>
    
html>
    

head>
    
    meta charset="UTF-8">
    
    meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    meta http-equiv="X-UA-Compatible" content="ie=edge">
    
    title>
    5分钟drag and drop简明示例/title>
    
    style>

        #draggable {
    
            width: 200px;
    
            height: 20px;
    
            text-align: center;
    
            background: white;

        }


        .dropzone {
    
            width: 200px;
    
            height: 20px;
    
            background: blueviolet;
    
            margin-bottom: 10px;
    
            padding: 10px;

        }
    
    /style>
    
    script>
    
        var dragged;


        document.addEventListener("dragstart", function (event) {
    
            console.log('==========dragstart 开始被拖拽==========一次拖动只执行一次');
    
            // 保存拖动元素的引用(ref.)
            dragged = event.target;
    
            // 使其半透明
            event.target.style.opacity = .5;

        }
    , false);


        /* 拖动目标元素时触发drag事件 */
        document.addEventListener("drag", function (event) {
    
            // console.log('==========drag==========拖拽时会一直监听,直到放下元素');

        }
    , false);


        /* 放置目标元素时触发事件 */
        document.addEventListener("dragover", function (event) {
    
            // console.log('==========dragover==========拖拽时会一直监听,直到放下元素');
    
            // 阻止默认动作以启用drop
            event.preventDefault();

        }
    , false);


        document.addEventListener("dragenter", function (event) {
    
            console.log('==========dragenter 拖曳元素 进入目标元素==========对应着dragleave');

            // 当可拖动的元素进入可放置的目标时高亮目标节点
            if (event.target.className == "dropzone") {
    
                event.target.style.background = "purple";

            }


        }
    , false);


        document.addEventListener("dragleave", function (event) {
    
            console.log('==========dragleave 拖曳元素 离开目标元素==========对应着dragenter');

            // 当拖动元素离开可放置目标节点,重置其背景
            if (event.target.className == "dropzone") {
    
                event.target.style.background = "";

            }


        }
    , false);


        document.addEventListener("drop", function (event) {
    
            console.log('==========drop 放下元素==========一次拖动只执行一次,在dragenter前触发');
    
            // 阻止默认动作(如打开一些元素的链接)
            event.preventDefault();

            // 将拖动的元素到所选择的放置目标节点中
            if (event.target.className == "dropzone") {
    
                event.target.style.background = "";
    
                dragged.parentNode.removeChild(dragged);
    
                event.target.appendChild(dragged);

            }


        }
    , false);


        document.addEventListener("dragend", function (event) {
    
            console.log('==========dragend 结束拖拽==========一次拖动只执行一次');
    
            // 重置透明度
            event.target.style.opacity = "";

        }
    , false);
    

    /script>
    
/head>
    

body>
    
    div>
    
        div id="draggable" draggable="true" ondragstart="event.dataTransfer.setData('text/plain',null)">
    
            这是可以拖拽的DIV
        /div>
    
    /div>
    
    div>
    /div>
    
    div>
    /div>
    
    div>
    /div>
    
/body>
    

/html>
    

以上就是关于“HTML5的drag和drop怎么使用”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: HTML5的drag和drop怎么使用
本文地址: https://pptw.com/jishu/654588.html
使用mac开发go程序第一步应该怎么做 go语言支持windows吗,具体如何部署

游客 回复需填写必要信息