• 图片拖拽复制


      <!DOCTYPE html>
      <html>
      <head>
      <title>HTML5中的拖放效果</title>
      <meta charset="utf-8" />
      <style>
      #d1 {
      width : 300px;
      height : 300px;
      border : solid 1px black;
      float : left;
      }
      #d2 {
      width : 300px;
      height : 600px;
      border : solid 1px black;
      float : right;
      }
      </style>
      </head>
       
      <body>
      <!-- 源元素 -->
      <div id="d1">
      <img id="myimg" src="Penguins.jpg" width="256" />
      </div>
      <!-- 目标元素 -->
      <div id="d2"></div>
      <script>
      /*
      * 使用HTML5中的拖放API实现拖放功能
      * * 源元素事件 - dragstart事件
      * * 目标元素事件 - drop和dragover事件
      * * dataTransfer对象
      */
      // 1. 获取源元素
      var myimg = document.getElementById("myimg");
      // 2. 获取目标元素
      var ele = document.getElementById("d2");
      // 3. 为源元素绑定dragstart事件
      myimg.addEventListener("dragstart",MyDragStart);
      // 4. 为目标元素绑定dragover和drop事件
      ele.addEventListener("dragover",MyDragOver);
      ele.addEventListener("drop",MyDrop);
      // 5. 实现事件的处理函数
      function MyDragStart(event){
      // 将源元素的数据,存储在dataTransfer对象中
      // 1. 获取源元素数据
      var mydata = myimg.src;
      // 2. 获取dataTransfer对象
      var trans = event.dataTransfer;
      /*
      * 3. 调用setData(type,data)方法
      * * type - 类型,特指标识(id)
      * * 类型一般为string
      * * data - 设置的数据内容
      */
      trans.setData("text",mydata);
      }
      function MyDragOver(event){
      event.preventDefault();
      }
      function MyDrop(event){
      // 从dataTransfer对象中,获取之前设置的数据
      // 1. 获取dataTransfer对象
      var trans = event.dataTransfer;
      /*
      * 2. 从dataTransfer对象中,获取设置的数据
      * getData(type)方法
      * * type - 之前调用setData()时,传递的是什么值,这里传递什么值
      */
      var mysrc = trans.getData("text");
      // 3. 将源元素(图片),添加到目标元素中
      ele.innerHTML = "<img src='"+mysrc+"' width='256'/>";
      // 4. 清除dataTransfer对象中的数据
      trans.clearData("text");
      }
      /*
      * 事件对象 - 作为事件处理函数的参数存在
      * * DOM底层代码的默认写法就是event
      * * 如果使用event事件对象时,标准写法
      * * 允许不在事件的处理函数中定义参数
      * * 注意 - 这种写法不是标准写法(不建议)
      */
      </script>
      </body>
      </html>
  • 相关阅读:
    Nginx反向代理与负载均衡应用实践(一)
    Nginx基础详细讲解
    RabbitMQ
    GlusterFS
    AWK的使用
    Grep的过滤使用
    Sed的查,删,增,改
    jumpserver
    FTP
    hdu 3689 Infinite monkey theorem
  • 原文地址:https://www.cnblogs.com/qzg3362/p/7853322.html
Copyright © 2020-2023  润新知