• HTML5-drag/drop


    浏览器支持情况

    Internet Explorer 9+, Firefox, Opera, Chrome, and Safari support drag and drop.

    Note: Drag and drop does not work in Safari 5.1.7 and earlier versions.

    drag

    1、设置元素可拽托:

    <div draggable="true" id="dragme"></div>

    2、设置元素拽托时发生的事情,通过属性ondragstart设置:

    <div draggable="true" id="dragme" ondragstart="drag(event)"></div>

    3、如果需要传值,通过 事件属性的方法 -  dataTransfer.setData()传递:

    function drag(evt) {
      evt.dataTransfer.setData("text/html", ev.target.id);
    }

    drop

    1、设置元素属性ondrop 和 ondragover

    <div id="drop1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

    2、ondragover 用于设置where the dragged data can be droped,设置此属性是用来阻止元素的默认处理(默认情况下,data/element是不允许drop到其他元素中),使元素可以被放置:

    function allowDrop(evt) {
      evt.preventDefault();
    }

    3、当元素放置的时候,通过ondrop属性处理drop事件:

    function drop(evt) {
        evt.preventDefault(); //default is open as link on drop
        var data = evt.dataTransfer.getData("text/html"); //获得传递的数据
        evt.target.appendChild(document.getElementById(data));
    }

    例子

    <!DOCTYPE HTML>
    <html>
    
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <style type="text/css">
      #drop1,
      #drop2 {
        width: 5em;
        height: 5em;
        border: 1px solid #aaaaaa;
        margin: 1em;
        padding: 1em;
        text-align: center;
        line-height: 5em;
        float: left;
      }
      </style>
      <script type="text/javascript">
      function allowDrop(evt) {
        evt.preventDefault();
      }
    
      function drag(evt) {
        evt.dataTransfer.setData("Text", evt.target.id);
      }
    
      function drop(evt) {
        evt.preventDefault();
        var data = evt.dataTransfer.getData("Text");
        evt.target.appendChild(document.getElementById(data));
      }
      </script>
    </head>
    
    <body>
      <div id="drop1" ondrop="drop(event)" ondragover="allowDrop(event)">
        <div id="dragme" draggable="true" ondragstart="drag(event)">drag me</div>
      </div>
      <div id="drop2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    
    </body>
    
    </html>
  • 相关阅读:
    Linux HugePages及MySQL 大页配置
    tcp短连接TIME_WAIT问题解决方法大全
    从问题看本质: 研究TCP close_wait的内幕
    tcp_tw_recycle和tcp_timestamps的文章汇总
    MYSQL博客
    Tcp_tw_reuse、tcp_tw_recycle 使用场景及注意事项
    net.ipv4.tcp_tw_recycle
    TIME-WAIT和CLOSE-WAIT
    mysql 源码调试方法
    mysqldump 备份原理9
  • 原文地址:https://www.cnblogs.com/hemi/p/4001945.html
Copyright © 2020-2023  润新知