`
MirrorAvatar
  • 浏览: 48405 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTML5拖放功能

阅读更多

基本概念

在HTML5中,任何元素都可以拖放,Drap和Drop。拖放属于HTML事件中的Mouse事件。

实例讲解

代码地址:

JS Bin

...
<body>
  <div id="end-area" class="area"></div>
  <img id="start-area" draggable="true"  src="http://pic1.zhimg.com/d80d9ff11c28c19123bc75a27d3c1df8_l.jpg">
<script id="jsbin-javascript">
var img = document.getElementById("start-area");
img.ondragstart = function(event) {
    event.dataTransfer.setData("Text", event.target.id);
};
var div = document.getElementById("end-area");
div.ondragover = function(event) {
    event.preventDefault();
};
div.ondrop = function(event) {
    event.preventDefault();
    var data = event.dataTransfer.getData("Text");
    event.target.appendChild(document.getElementById(data));
};
</script>
</body>
...

 

大体模样:

Michael

实现过程

1.设置元素可拖放。(HTML部分)
<img draggable="true">

 

注意:链接和图像都是默认可拖动。因此上述代码可以不用添加draggable属性,但为了可读性还是加上吧。

2.拖放过程需要怎么处理?(JS部分)

需要在被拖元素上绑定事件:ondragstart事件

基于HTML和JavaScript分离的原则,代码为:

img.ondragstart = function(event) {
    event.dataTransfer.setData("Text", event.target.id);
};

 

这代码里面最关键的是dataTransfer对象。它是事件对象(event)的一个属性,所以只能在拖放事件处理程序中访问dataTransfer对象,用来完善拖放功能。

dataTransfer对象有两个方法:getData()和setData()。两个方法之间的关系是:setData()方法的第一个参数,也是getData()方法唯一的一个参数,是一个字符串,表示保存的数据类型,取值为"text"或"URL。

3.拖放到哪个位置?(JS部分)

目标元素绑定事件:ondragover事件

div.ondragover = function(event) {
    event.preventDefault();
};

 

默认地,无法将数据/元素放置到其他元素中。所以通过event.preventDefault()来阻止对元素的默认处理方式。

4.放置。(JS部分)

目标元素绑定事件:ondrop事件

div.ondrop = function(event) {
    event.preventDefault();
    var data = event.dataTransfer.getData("Text");
    event.target.appendChild(document.getElementById(data));
};

 

放置实际上是移动的过程,用appendChild()方法。

1
0
分享到:
评论

相关推荐

    HTML:HTML5拖放功能实现.docx

    HTML:HTML5拖放功能实现.docx

    HTML5 拖放功能实现代码

    在HTML5中,拖放是标准的一部分,任何元素都能够拖放,具体内容如下 1、拖放  XML/HTML Code复制内容到剪贴板 &lt;!DOCTYPE HTML&gt;  &lt;html&gt;  &lt;head&gt;  &lt;style type=text/css&gt;  #div1 {...

    HTML5 拖放:在相册中对照片进行排序

    在“HTML5 拖放:在相册中对照片进行排序”这个主题中,我们将深入探讨如何利用HTML5的拖放功能来实现一个互动式相册应用,让用户可以自由调整照片的顺序。 首先,我们需要理解HTML5拖放API的基本结构。拖放功能...

    HTML5拖放功能_动力节点Java学院整理

    HTML5的拖放功能是其增强用户交互的重要特性之一,使得网页中的元素可以通过鼠标操作进行拖拽和放置,极大地提升了用户体验。这一功能是HTML5标准的一部分,被广泛应用于各种应用场景,如文件上传、图片排序、内容...

    html5图片拖放

    HTML5图片拖放功能是现代Web开发中的一个重要特性,它允许用户通过鼠标或触摸设备将图像从一个位置拖放到另一个位置,甚至可以在不同的浏览器窗口或应用程序之间进行操作。这一功能的实现基于HTML5的Drag and Drop ...

    html5文件拖放

    HTML5文件拖放功能是现代Web开发中的一个重要特性,它允许用户通过拖放操作在网页上上传或移动文件。这项技术极大地提升了用户体验,因为它简化了文件上传的过程,不再需要传统意义上的“浏览文件”按钮。在本篇博文...

    html5移动端拖拽图片、拖拽标签等插件以及相应的demo、适用于手机网址开发和mui前端开发、h5app开发中的图片拖拽等

    综上所述,这个资源集合对于想要在移动端利用HTML5拖放功能的开发者来说是一份宝贵的参考资料,无论是手机网站开发还是H5应用,都可以从中受益。通过学习和实践提供的插件和示例,可以提升项目的用户体验,增强互动...

    HTML5应用开发技术-拖放概述.pptx

    HTML5应用开发技术的核心之一是拖放功能,它使得用户可以在网页上轻松地移动元素,提高了交互性。在HTML5中,拖放已经成为一个内置的标准,允许开发者无需过多依赖JavaScript库就能实现这一特性。以下是对HTML5拖放...

    HTML5拖放API项目.rar

    仿回收站效果的设计与实现:在Windows等操作系统中均包含回收站功能,用户可以直接将不需要的文件拖拽并放置到桌面回收站图标上以实现文件删除。 图片相框展示的设计与实现:目前市面上一些修图工具软件带有自动为图片...

    一个JavaScript库让文件能够拖放到任何HTML元素上

    标题中的“一个JavaScript库让文件能够拖放到任何HTML元素上”指的是使用JavaScript库来实现HTML5的拖放功能,使得用户可以通过鼠标拖动文件到指定的HTML元素(如div、input等)上,从而实现文件上传或其他交互操作...

    使用 HTML5 实现拖放交互:音效与提示功能的完整实现

    一个简单的拖放示例,展示了 HTML5 拖放功能的强大能力和实际应用场景。

    HTML5 – 拖拽功能

    在本篇文章中,我们将深入探讨HTML5拖放功能的核心概念、API以及如何在实际项目中实现这一功能。 首先,拖放功能的基础在于HTML5中的`&lt;draggable&gt;`属性。此属性可以添加到任何HTML元素上,当设置为`true`时,该元素...

    Drag-and-Drop-File-Upload-PHP-Jquery-AJAX:使用 HTML5 拖放功能的最简单易懂的上传文件版本

    拖放文件上传-PHP-Jquery-AJAX 这是使用 HTML5 拖放功能的最简单易懂的上传文件版本。 安装指南: 1.在你的机器上安装Xampp。 2.使用本地服务器运行项目。 所有文件都将上传到名为“uploads”的文件夹中 享受

    html5 拖拽交换

    1. **HTML5拖放API**:HTML5的拖放API提供了一套事件和接口,使得开发者能够创建拖放功能的网页应用。这些接口包括`DataTransfer`对象,用于在拖放过程中传递数据;`dragstart`、`drag`、`dragenter`、`dragleave`、...

    E3【数据可视化】【组件】基于Python+Flask+Echarts+HTML5实现的可拖放布局并自动保存布局的动态饼图

    0. 基于HTML5拖放功能,动态拖放并自动实时保存布局。 1. 前后端分离:前端 Echarts JavaScript BootStrap; 后端Python Flask; 2. 数据动态更新:服务端触发数据源的变化,前端AJAX自动获取最新数据并渲染到Echarts...

    拖拽 Draganddrop.html

    标题 "拖拽 Draganddrop.html" 暗示着这个压缩包包含了一个关于HTML5拖放功能(Drag and Drop)的实例代码。HTML5的拖放API为网页开发者提供了在浏览器内部或跨页面移动元素的能力,这是一个强大的交互设计工具,常...

    html5拖拽列表.zip

    这个“html5拖拽列表.zip”压缩包包含了一些示例文件,让我们一起探讨HTML5拖放功能以及如何创建一个可拖动列表。 在HTML5中,拖放功能使得用户可以方便地通过鼠标或触摸设备将元素从一处拖到另一处,这大大增强了...

    accessible-drag-and-drop:扩展 HTML5 拖放功能——因此它可以处理多个元素,并支持键盘交互

    "accessible-drag-and-drop"项目正是为了解决这个问题,它扩展了HTML5的拖放功能,使其能够更好地服务于视力正常和使用屏幕阅读器的用户。 在这个项目中,主要涉及以下几个关键知识点: 1. **HTML5 Drag and Drop ...

    HTML5 拖放API:简化网页交互的现代方法

    HTML5 引入了拖放API,这是一个允许用户通过拖拽动作在网页上移动元素的功能。这项API极大地丰富了网页的交互性,使得用户可以更直观地与网页内容进行交互。本文将详细介绍如何使用HTML5的拖放API,包括基本用法和...

Global site tag (gtag.js) - Google Analytics