• h5内容初探


    h5简介:

     h5新特性

    h5新增标签

    article  和  section 的区别相当于 div  和  p标签的区别

    1—6都是块级元素

    h5新增属性

    拖放

    拖动事件

    <style> 
          div {
              100px;
              height:100px;
              background:red;
               }
    </style>
    </head>
    <body>
         <div draggable="true" id="demo"></div>
         <script>
            var demo = document.getElementById('demo');
            demo.ondragstart = function(e){
                 console.log('start',e)
            }
            demo.ondrag = function(e){
                 console.log('drag',e)
            }
            demo.ondragend = function(e){
                console.log('end',e)
            }
         </script>

    释放区事件

       <style> 
          #demo {
              100px;
              height:100px;
              background:red;
          }
          #demo1{
              100px;
              height:100px;
              background:yellowgreen;
          }
          #demo2{
              100px;
              height:100px;
              background:blueviolet;
          }
          .wrapper{
              400px;
              height:300px;
              border:1px solid #000;
          }
        </style>
    </head>
    <body>
         <div class="demo">
             <div draggable="true" id="demo"></div>
             <div draggable="true" id="demo1"></div>
             <div draggable="true" id="demo2"></div>
         </div>
         <div class="wrapper"></div>
           <script>        
            var demo = document.getElementsByClassName('demo')[0];
            var wrapper = document.getElementsByClassName('wrapper')[0];
            id = null;
            demo.ondragstart = function (e){
                console.log('start',e.target);
                id = e.target.id;
            }
            wrapper.ondragenter = function (e){
                console.log('enter');
            }
            wrapper.ondragover = function (e){
                e.preventDefault(); //调用 preventDefault() 来避免浏览器对数据的默认处理
                console.log('over');
            }

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

    这要通过调用 ondragover 事件的 event.preventDefault() 方法:
            wrapper.ondragleave = function (e){
                console.log('leave');
            }
            wrapper.ondrop = function (e){
                console.log('drop');
                var oDiv = document.getElementById(id).cloneNode(true);
                this.appendChild(oDiv);
            }
         </script>
    </body>

    dataTransfer: 返回用于传输数据到释放区的对象      (还可传输对象)

    名称                                                   说明                                       返回

    types                                           返回数据的格式                        字符串数组

    getData(<format>)                      返回指定格式的数据                  字符串

    setData(<format> , <data>)        设置指定格式的数据                  void

    clearData(<format>)                    移除指定格式的数据                 void

    files                                              返回已被拖动文件的列表          fileList

    上面的代码改成:
    var demo = document.getElementsByClassName('demo')[0];
            var wrapper = document.getElementsByClassName('wrapper')[0];
            // id = null;
            demo.ondragstart = function (e){
                console.log('start',e.target);
                e.dataTransfer.setData('id',e.target.id);
                // id = e.target.id;
            }
            wrapper.ondragenter = function (e){
                console.log('enter');
            }
            wrapper.ondragover = function (e){
                e.preventDefault();
                console.log('over');
            }
            wrapper.ondragleave = function (e){
                console.log('leave');
            }
            wrapper.ondrop = function (e){
                console.log('drop');
                var oDiv = document.getElementById(e.dataTransfer.getData('id')).cloneNode(true);
                this.appendChild(oDiv);
            }
         </script>
  • 相关阅读:
    mysql字符集和数据库引擎修改方法
    android 之GridView和ImageView教程
    把php代码保存到php文件实现方法
    extjs gridpanel 操作行 得到选中行的列
    SQL 分页
    vs 调试 慢 解决办法
    JS获取屏幕高度
    C#事件以及委托
    ExtJs 3.0 不兼容 IE9
    ASP.NET 获取客户端IP (无视代理)
  • 原文地址:https://www.cnblogs.com/tianya-guoke/p/10259663.html
Copyright © 2020-2023  润新知