HTML5 拖放(Drag 和 Drop)

HTML5、JS实现元素拖拽排序 注意只能传递字符串和url,但是在firefox使用text或Text作为key时会打开新的标签页,所以不要用他们作为key。drop 拖动元素在目标元素内释放时(在设置了dropover事件的前提下) 1。事件分为两类,当前拖动的元素上的事件,以及要放置的位置接收到的事件。dragover 当拖动元素在目标元素范围内时反复触发 n。dragenter 当拖动元素进入目标时触发一次 1。注意:设置了dragover后drop才会触发!在拖动元素时可以设置传递的信息。二.发生在目标元素上的事件。 阅读详情

拖放(Drag 和 drop)是 HTML5 标准的组成部分。


将 RUNOOB.COM 图标拖动到矩形框中。


拖放

拖放是一种常见的特性,即抓取对象以后拖到另一个位置。

在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。


浏览器支持

Internet Explorer

Firefox

Opera

Google Chrome

Safari

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持拖动。

注意:Safari 5.1.2不支持拖动.


HTML5 拖放实例

下面的例子是一个简单的拖放实例:

实例

<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <style type="text/css"> #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;} </style> <script> 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"); ev.target.appendChild(document.getElementById(data)); } </script> </head> <body> <p>拖动 RUNOOB.COM 图片到矩形框中:</p> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br> <img id="drag1" src="/images/logo.png" draggable="true" ondragstart="drag(event)" width="336" height="69"> </body> </html>

它看上去也许有些复杂,不过我们可以分别研究拖放事件的不同部分。


设置元素为可拖放

首先,为了使元素可拖动,把 draggable 属性设置为 true :

<img draggable="true">


拖动什么 - ondragstart 和 setData()

然后,规定当元素被拖动时,会发生什么。

在上面的例子中,ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。

dataTransfer.setData() 方法设置被拖数据的数据类型和值:

function drag(ev)
{
    ev.dataTransfer.setData("Text",ev.target.id);
}

Text 是一个 DOMString 表示要添加到 drag object 的拖动数据的类型。值是可拖动元素的 id ("drag1")。


放到何处 - ondragover

ondragover 事件规定在何处放置被拖动的数据。

默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

这要通过调用 ondragover 事件的 event.preventDefault() 方法:

event.preventDefault()


进行放置 - ondrop

当放置被拖数据时,会发生 drop 事件。

在上面的例子中,ondrop 属性调用了一个函数,drop(event):

function drop(ev)
{
    ev.preventDefault();
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
}

代码解释:

  • 调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)
  • 通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据。
  • 被拖数据是被拖元素的 id ("drag1")
  • 把被拖元素追加到放置元素(目标元素)中
vc mfc listctrl使用虚拟列表 虚拟列表用法 note 虚拟列表可有效加载大量数据 需要处理listctrl的 LVN_GETDISPINFO 消息 使用虚拟列表 不能 使用 insert的方法插入数据,而是告诉listctrl 当前要显示多少行 使用SetItemCount函数告诉listctrl当前显示多少行 使用虚拟列表需要自己维护数据源 使用 添加list ctrl 控件 将其Owner Data 属性 设置为 True 添加... 阅读详情

相关推荐

PX4实战指南:通过遥控器通道映射实现多舵机PWM精准控制

本文详细介绍了通过PX4飞控的AUX PWM接口实现遥控器通道映射控制多舵机的实战指南。内容包括硬件选型与连接、软件参数配置、通道映射方法以及常见问题排查,帮助开发者精准实现无人机舵机PWM控制,适用于云台、机械臂等扩展功能开发。

ee345的博客 304

Html新增属性之拖拽(drag)

darg

qq_40137978的博客 3375

组合导航、惯导、GNSS、INS、IMU的区别

‌:惯性导航系统(INS)是一种利用安装在运载体上的陀螺仪和加速度计来测定运载体位置的系统。它通过测量物体的加速度和角速度,结合算法计算出物体的位置、速度和姿态‌12。‌。

wynn1123的博客 8048

HTML 拖放功能 - Drag&Drop

Drag&Drop 拖拽功能的基本实现方法,DragEvent,DataTransfer等重要接口的解析...

Kate_sicheng的博客 3608

深入解析MATLAB四旋翼仿真案例asbQuadcopter的核心模块与优化技巧

本文深入解析了MATLAB/Simulink中的四旋翼无人机官方案例asbQuadcopter,详细拆解了其指令、传感器、控制器、本体与环境等核心模块的工作原理。重点探讨了经典的PID双环控制结构、传感器噪声模拟、模型替换方法以及系统化的PID参数调优技巧,旨在帮助用户从“开箱即用”过渡到深度定制与优化,构建更精准的仿真模型。

weixin_29171087的博客 359

【SPSS实战】手动实现Quade非参数协方差分析:从数据准备到结果解读

本文详细介绍了在SPSS中手动实现Quade非参数协方差分析的实战方法。当数据不满足正态分布等参数检验假设时,通过将协变量和因变量转换为秩,并利用秩回归残差进行Kruskal-Wallis组间比较,提供了一种清晰、可操作的近似解决方案。该方法有效解决了非正态数据的协变量调整问题,适用于实验研究和调查数据分析。

bean的博客 468

HTML5 拖放(Drag和Drop)-学习笔记

拖放(Drag和drop)是HTML5标准的组成部分。要接受元素的放下,目标元素必须监听至少3个事件首先是dragenter事件,用来决定是否接受“拖动的元素”被放下,如果接受放下,那么该事件就被取消,进入下一个事件然后开始dragover事件,用来确定给用户什么样的反馈,即位于该元素之上时呈现什么样的效果,如果该事件被取消,反馈一般是一个鼠标指针,也可以使用dropEffect属性定义,如果事件没有被取消,那么就是默认的行为,默认的行为一般就是什么也不做。。...

CYSNLD的博客 1825

从生产订单到整车交付,SAP 离散制造在汽车行业里的真实落点

汽车行业谈数字化,很容易一上来就谈智能工厂、数字孪生、AI 排产、无人仓、视觉质检。可落到 SAP 项目现场,真正把工厂撑起来的,往往还是几个很朴素的问题,客户订单来了以后,BOM 能不能准确展开,物料能不能准时到线,产能有没有被过度承诺,生产订单能不能被车间正确执行,质量问题能不能追溯,成本能不能按工单和批次沉淀下来。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 113

HTML5 拖放(Drag 和 Drop)html排序拖拽案例,vue仿照element穿梭框拖拽案例。

HTML5 拖放(Drag 和 Drop)html排序拖拽案例,vue仿照element穿梭框拖拽案例。

qq_54753561的博客 3326

36、T5L 迪文屏C51开发之绘制动态曲线

T5L 迪文屏C51开发之绘制动态曲线1、介绍2、例程功能简介3、GUI界面设计3、C51程序设计 1、介绍   本文将利用DGUS Tool软件中的【动态曲线控件】来绘制曲线效果,在T5L迪文屏中总共支持8个通道的曲线,而曲线数据是需要缓冲区的,如果 8 通道曲线同时使用,0x1000-0x4FFF 将作为曲线缓冲区地址,此时该部分变量地址不能被其他控键使用,其他控键地址使用范围为0x5000-0xFFFF,当某曲线通道不被使用时,那么其所对应的缓冲区地址可以做其他用途,曲线通道具体的地址分布如下图所示:

嵌入式羊圈 3128

基于Python的军事装备信息爬虫实战:Scrapy+Playwright+智能反反爬技术

本文将详细介绍如何使用Python构建一个高效的军事装备信息爬虫系统。我们将从基础的HTTP请求开始,逐步深入到使用Scrapy框架、Playwright浏览器自动化以及最新的反反爬技术。文章包含完整的代码实现、性能优化策略以及数据处理方案,旨在为读者提供一个全面的军事信息爬取解决方案。关键词:Python爬虫、军事装备、Scrapy、Playwright、反反爬。

2201_76125261的博客 1155

html的拖放api,HTML5 拖放Drag & Drop API

曾几何时,不能判断拖放行为使得很多人抨击Web,认为这是Web较之桌面客户端程序的明显弱点之一。实际上,哪怕是IE6如此老旧的浏览器,它也是支持拖放行为的,只是缺乏更进一步的程序方法支持而已,很多Web设计爱好者在吹牛的时候应该注意到这一点。HTML5为拖放行为提供了Drag & Drop API,Drag代表拖动,Drop代表放下,用于帮助开发者方便地处理此类事件。今后,我们在浏览器里处...

weixin_28803437的博客 634

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HTML5 CSS3 专题 : 拖放 (Drag and Drop)

本来准备写一个支持多图片拖拽上传的例子,但是为了更好的理解,先介绍一下HTML5的拖放。 拖放(Drag 和 drop)是 HTML5 标准的组成部分。 浏览器支持 Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。 被拖元素,dragElement :  1、添加事件:ondragstart 2、添加属性:d

Hongyang 3万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HTML5原生的Drag和Drop,HTML5 拖放(Drag 和 Drop)

拖放(Drag 和 drop)是 HTML5 标准的组成部分。拖放拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。浏览器支持Internet Explorer 9、Firefox、Opera 12、Chrome以及Safari 5支持拖放。注释:在Safari 5.1.2中不支持拖放。HTML5 拖放实例HTML代码:拖动图片到矩形框中:...

weixin_39680609的博客 294

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HTML5元素拖拽drag与拖放drop相关API

其实HTML5就是新增一些有用的API 让我们更轻松的开发 从而把更多精力都放在业务逻辑上来 这些API的使用也非常简单 不过我的记性不太好 所以还是以博客的形式记录下来(手动滑稽) 今天就来写一下这个拖拽API默认拖拽说起拖放,其实最早实现拖放功能的还是IE(IE4) H5就是在IE实例的基础上指定的拖拽规范 在浏览器中,是有默认拖拽的 比如说图片的拖拽选中文本的拖拽链接的拖拽元

尐轩web前端网络日志 5849

HTML5 拖放 (Drag 和 Drop)

HTML5 拖放 (Drag 和 Drop) 必须设置该元素的 draggable 属性为true 将允许拖拽 属性为false 不允许拖拽 img元素和a元素 默认都可以拖拽 (默认设置为draggable 为true) 拖放事件 被拖拽的元素称为源对象 经过的元素称为过程对象 到达的元素称为目标对象 源对象的事件 dragstart: 源对象开始拖放 drag : 源对象拖放过程 drage...

Sharp_k的博客 444

HTML5 拖放功能的开源解决方案:drag-drop

HTML5 拖放功能的开源解决方案:drag-drop 1. 项目基础介绍 drag-drop 是一个开源项目,旨在简化 HTML5 的拖放 API,使其更加易用。该项目由 Feross Aboukhadijeh 创建并维护。主要使用的编程语言是 JavaScript,同时项目中也包含了 HTML。 2. 项目核心功能 drag-drop 的核心功能是为开发者提供一个简单的 API,以实现 HTM...

gitblog_00285的博客 475

html5多个图片位置_HTML5 拖放(Drag 和 Drop)

HTML5 拖放(Drag 和 Drop)拖放(Drag 和 drop)是 HTML5 标准的组成部分将w3cschool图标拖动到矩形框中。拖放拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。浏览器支持 function drag(ev) { ev.dataTransfer.setData("Text",ev.target.i...

weixin_39758618的博客 294

html ondrop被拖拽对象,HTML5丨拖放(Drag & Drop)

一、拖放拖放(Drag 和 drop)是 HTML5 标准的组成部分。拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。二、浏览器支持Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。注释:在 Safari 5.1.2 中不支持拖放。三、属性介绍0、代码示例func...

weixin_30298733的博客 598

html5dragw3c,HTML5 拖放(Drag 和 Drop)

HTML5拖放(Drag 和 Drop)拖放的目的是可以让你将某个对象放置到你想要放置的位置。拖放(Drag 和 drop)是 HTML5 标准的组成部分。将w3cschool图标拖动到矩形框中。拖放拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。浏览器支持Internet Explorer 9+, Firefox, Ope...

weixin_39883705的博客 226

HTML5拖放(Drag和drop)教程

拖放 一、概述 1、拖放(Drag和drop)是HTML5标准的组成部分。    拖放是一种常见的特性,即将一个对象抓取后放置到指定位置,在HTML5中,任何元素都可以进行拖放的操作。 2、浏览器支持情况。    Internet Explorer 9、Firefox、Opera 12、Chrome以及Safari 5支持拖放,需要注意的是,在Safari 5.1.2中不支持拖放,由此可见,在编写拖放时,需要注意浏览器的兼容问题。 3、拖拽元素支持的事件    (1)ondrag-----应用于拖拽元素,整

weixin_49840872的博客 1129

HTML5 拖放(Drag 和 Drop)(stage1-39)

基础篇-HTML5 拖放(Drag 和 Drop) 拖放(Drag 和 drop)是 HTML5 标准的组成部分。 1.拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置。 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。 2.浏览器支持 Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持拖动

MAC--芳 407

HTML5 学习05—— 拖放(Drag 和 Drop)

拖放(Drag 和 drop)是 HTML5 标准的组成部分。即抓取对象以后拖到另一个位置。 例:将w3cschool图标拖动到矩形框中。 <script> function allowDrop(ev...

Wang1996332的博客 203
上一篇: HTML5 MathML
下一篇: HTML5 可缩放矢量图形SVG
dodo2016
博客等级 码龄2年 230粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值