zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    eclipse里打包时排除.svn目录
    UltraEdit搭建python IDE环境+设置快捷键
    Window下 VC2008 Express 配置 OpenGL
    N73 getRGB createRGBImage 透明色的问题
    Iphone UIApplication openURL能帮助你运行Maps,SMS,Browser, Calling甚至其他的应用程序
    Eclipse配置KEmulator
    洛谷P1439 【模板】最长公共子序列 (DP,离散化)
    Codeforces Round #642 (Div. 3) D. Constructing the Array (优先队列)
    Codeforces #6241 div2 C. Orac and LCM (数学)
    洛谷P1469 找筷子 (位运算)
  • 原文地址:https://www.cnblogs.com/tianya-guoke/p/10259663.html
Copyright © 2011-2022 走看看