zoukankan      html  css  js  c++  java
  • H5元素拖拽使用事件数据传输

    H5中元素拖拽可以用元素拖拽事件实现,用event可以缩短代码长度。

    先看一般的拖拽方法

    实现效果:将图片1235拖到图片4中将拖入图片删除

    <img id="img1" src="img/01.png" />
    <img id="img2" src="img/02.png" />
    <img id="img3" src="img/03.png" />
    <img id="img5" src="img/05.png" />
    <img src="img/04.png" id="cancel" />

    定义五张图片 

    img{
    150px;
    height: 150px;
    border: 1px solid red;
    margin: 10px 50px;
    }

    给上样式

    开始写js部分

    var cancel = document.getElementById("cancel");        //获取 垃圾桶 (将元素拖入此图片时删除) 
    document.ondragstart = function(){                            //元素开始拖拽时触发事件
    event.dataTransfer.setData("text",event.target.id);    //获取当前元素的id 用text的数据类型存储
    console.log(event.target.id)                                  //可以在控制台打印出来看看
    }
    document.ondragover = function(){                          //在ondrageover事件中阻止浏览器对元素的默认行为
    event.preventDefault();
    }
    cancel.ondrop = function(){                                      //鼠标在元素目标上松开鼠标时触发的事件
    var objId = event.dataTransfer.getData("text");         //定义变量objId 用来接收 前面获取的id值
    console.log(document.getElementById(objId));       //控制台打印检查
    console.log(event.target);
    event.target.parentNode.removeChild(document.getElementById(objId));               //通过父元素删除前面被拖拽的元素  通过前面获取的id名直接获取元素
    }

    整个拖拽到垃圾桶删除图片就完成了。

    还有不使用 事件数据传输 event.dataTransfer.setData  

    定义一个变量接收在ondragstart 中当前拖拽的对象

    可以不用给每个图片定义id名。代码如下:

    var obj;
    var cancel = document.getElementById("cancel");
    document.ondragstart = function(event){
      obj = event.target;
    }
    document.ondragover = function(event){
    event.preventDefault();
    }
    cancel.ondrop = function(){
      obj.parentNode.removeChild(obj);
    }

  • 相关阅读:
    共享纸巾更换主板代码分析 共享纸巾主板更换后的对接代码
    Python Django Ajax 传递列表数据
    Python Django migrate 报错解决办法
    Python 创建字典的多种方式
    Python 两个list合并成一个字典
    Python 正则 re.sub替换
    python Django Ajax基础
    Python Django 获取表单数据的三种方式
    python Django html 模板循环条件
    Python Django ORM 字段类型、参数、外键操作
  • 原文地址:https://www.cnblogs.com/ddjps/p/10114216.html
Copyright © 2011-2022 走看看