zoukankan      html  css  js  c++  java
  • Html5拖拽复制

    拖拽是一种常见的特性,即抓取对象以后拖到另一个位置。 在 HTML5 中,拖拽是标准的一部分,任何元素都能够拖拽。 Html5拖拽非常常见的一个功能,但是大部分拖拽的案例都是一个剪切的过程, 项目中需要实现Html5拖拽复制的功能,Html5拖拽复制很简单,只需要在普通Html5拖拽的过程中做一点小小的改动即可。

    ps: 本篇博文为非首页文章,只是简单的笔记。

    浏览器支持

    Internet Explorer 9

    Firefox

    Opera 12

    Chrome

    Safari 5



    v1.0代码部分



    <!DOCTYPE html>

    <html>

    <head>

        <styletype="text/css">

            #div1 {

                700px;

                height: 120px;

                padding: 10px;

                border: 1px solid #aaaaaa;

            }

     

            #drag1 {

                cursor:pointer;

            }

        </style>

        <scripttype="text/javascript">

            function allowDrop(ev)  {

                ev.preventDefault();

            }

     

            function drag(ev)  {

     

                ev.dataTransfer.setData("Text", ev.target.id);

            }

     

            function drop(ev)  {

                ev.preventDefault();

                var data = ev.dataTransfer.getData("Text");

                var item = document.getElementById(data).cloneNode();

                ev.target.appendChild(item);

            }

        </script>

    </head>

    <body>

        <p>请把 Windows Azure 的图片拖放到矩形中:</p>

        <divid="div1"  ondrop="drop(event)"  ondragover="allowDrop(event)"></div>

        <br/>

        <br/>

        <br/>

        <br/>

        <br/>

        <imgid="drag1"  src="http://www.cnblogs.com/images/cnblogs_com/toutou/699740/t_Azure.png"  draggable="true"  ondragstart="drag(event)"/>

    </body>

    </html>



    代码解析

    实现思路就是克隆被拖拽的元素,然后把克隆元素appendChild()到指定位置

    实现Html5拖拽复制的核心代码.cloneNode()

    Html5拖拽复制完成以后,其实还有很多事情可以在appendChild()执行以后完成,这个看具体需求吧

    如果只是想实现传统的HTML5拖拽的话,移除var item = document.getElementById(data).cloneNode();,然后ev.target.appendChild(data);即可


    作  者:请叫我头头哥
    出  处:http://www.cnblogs.com/toutou/
    关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

  • 相关阅读:
    ORM中介模型 + auth模块(用户登录校验)
    ModelForm
    Form组件------注册
    信贷相关业务
    pymongo
    开发者工具使用
    kindeditor文字编辑器 文章点赞评论操作
    VS Code:设置多行注释快捷键
    Nodejs:npm run build之后,distindex.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败
    Maven:项目结构
  • 原文地址:https://www.cnblogs.com/toutou/p/5434999.html
Copyright © 2011-2022 走看看