• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > html5之拖放的学习和完整实例代码

html5之拖放的学习和完整实例代码

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含html5,拖放,实例等相关知识,匿名希望在学习及工作中可以帮助到您

本文学习html5的拖放并完整实例代码,希望对H5初学者有帮助!

1)创建来源项目

1.1)draggable属性的值:

true——此元素能被拖动;

false——此元素不能被拖动;

auto——浏览器能够自主决定某个元素能否被拖动;

1.2)被拖动元素的事件:

dragstart——在元素開始被拖动时触发;

drag——在元素被拖动时重复触发。

dragend——在拖动操作完毕时触发;

2)创建释放区

2.1)释放区事件:

dragenter——当被拖动元素进入释放区所占领的屏幕空间时触发;

dragover——当被拖动元素在释放区内触发时移动触发;

dragleave——当被拖动元素没有放入就离开释放区时触发;

drop——当被拖动元素在释放区放下时触发。

<!DOCTYPE HTML>
<html>
    <head>
        <title>Example</title>
        <style>
            #src > * {float:left;}
            #src > img {border: thin solid black; padding: 2px; margin:4px;}
            #target {border: thin solid black; margin:4px;}
            #target { height: 81px; width: 81px; text-align: center; display: table;}
            #target > p {display: table-cell; vertical-align: middle;}
            img.dragged {background-color: lightgrey;}
        </style>
    </head>
    <body>
        <p id="src">
            <img draggable="true" id="banana" src="banana100.png" alt="banana"/>
            <img draggable="true" id="apple" src="apple100.png" alt="apple"/>
            <img draggable="true" id="cherries" src="cherries100.png" alt="cherry"/>
            <p id="target">
                <p id="msg">Drop Here</p>
            </p>            
        </p>            
    
        <script>
            var src = document.getElementById("src");
            var target = document.getElementById("target");
            var msg = document.getElementById("msg");
          
            var draggedID;
          
            target.ondragenter = handleDrag;
            target.ondragover = handleDrag;
            
            function handleDrag(e) {
                e.preventDefault();
            }
            
            target.ondrop = function(e) {
                var newElem = document.getElementById(draggedID).cloneNode(false);
                target.innerHTML = "";
                target.appendChild(newElem);
                e.preventDefault();
            }
          
            src.ondragstart = function(e) {
                draggedID = e.target.id;
                e.target.classList.add("dragged");
            }
            
            src.ondragend = function(e) {
                var elems = document.querySelectorAll(".dragged");
                for (var i = 0; i < elems.length; i++) {
                    elems[i].classList.remove("dragged");
                }
            }          
        </script>
    </body>
</html>

3)使用DataTransfer对象

3.1)与拖放操作所触发的事件同一时候派发的对象是DragEvent,它派生于MouseEvent。

DragEvent对象定义的额外属性:

dataTransfer——返回用于数据传输到释放区的对象(DataTransfer);

3.2)DataTransfer对象定义的属性:

types——返回数据的格式。

getData(<format>)——返回指定格式的数据;

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

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

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

<!DOCTYPE HTML>
<html>
    <head>
        <title>Example</title>
        <style>
            #src > * {float:left;}
            #src > img {border: thin solid black; padding: 2px; margin:4px;}
            #target {border: thin solid black; margin:4px;}
            #target { height: 81px; width: 81px; text-align: center; display: table;}
            #target > p {display: table-cell; vertical-align: middle;}
            img.dragged {background-color: lightgrey;}
        </style>
    </head>
    <body>
        <p id="src">
            <img draggable="true" id="banana" src="banana100.png" alt="banana"/>
            <img draggable="true" id="apple" src="apple100.png" alt="apple"/>
            <img draggable="true" id="cherries" src="cherries100.png" alt="cherry"/>
            <p id="target">
                <p id="msg">Drop Here</p>
            </p>            
        </p>            
    
        <script>
            var src = document.getElementById("src");
            var target = document.getElementById("target");
                    
            target.ondragenter = handleDrag;
            target.ondragover = handleDrag;
            
            function handleDrag(e) {
                e.preventDefault();
            }
            
            target.ondrop = function(e) {
                var droppedID = e.dataTransfer.getData("Text");               
                var newElem = document.getElementById(droppedID).cloneNode(false);
                target.innerHTML = "";
                target.appendChild(newElem);
                e.preventDefault();
            }
          
            src.ondragstart = function(e) {
                e.dataTransfer.setData("Text", e.target.id);
                e.target.classList.add("dragged");
            }
            
            src.ondragend = function(e) {
                var elems = document.querySelectorAll(".dragged");
                for (var i = 0; i <
  


 

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2017-08-06编写html5时调试发现脚本php等网页js、css等失效
  • 2018-12-03HTML5+CSS3应用详解 _html5教程技巧
  • 2018-12-03HTML5 Canvas画线技巧——实现绘制一个像素宽的细线_html5教程技巧
  • 2018-12-03HTML5 Canvas 破碎重组的视频特效代码具体介绍
  • 2018-12-03用exfe.js和canvas解决移动端 IOS 拍照上传图片翻转问题(附代码)
  • 2018-12-03如何解决canvas绘图时遇到的跨域问题
  • 2018-12-03WebSocket 是什么原理?为什么可以实现持久连接?
  • 2018-12-03HTML5是什么 HTML5是什么意思 HTML5简介_html5教程技巧
  • 2018-12-03知乎的登录首页背景动画是怎么做到的?JS还是CSS3,求教
  • 2017-08-06HTML5注册表单的自动聚焦与占位文本示例代码

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 利用html5以及canvas实现支持签名插件的方法
    • 关于 HTML5 的七个传说小结_html5教程技巧
    • HTML5之type=file文件上传功能
    • html5游戏开发-愤怒的小鸟-开源讲座(一)-跳入弹出的小鸟
    • 推荐10款提示语源码(收藏)汇总
    • 突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
    • 关于动画应用的6篇文章推荐
    • 如何利用HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码的功能
    • before :after怎么输出一个小三角形
    • 移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有