首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让可拖动的元素在被拖放时停留在新的位置(HTML5而不是jQuery)?

在HTML5中,可以使用Drag and Drop API来实现让可拖动的元素在被拖放时停留在新的位置。下面是实现的步骤:

  1. 首先,给需要拖动的元素添加draggable属性,设置为true,表示该元素可被拖动。
代码语言:txt
复制
<div draggable="true">可拖动的元素</div>
  1. 然后,为拖动元素添加dragstart事件监听器,该事件在开始拖动时触发。在事件处理函数中,可以设置拖动元素的数据传输类型和传输的数据。
代码语言:txt
复制
<div draggable="true" ondragstart="dragStart(event)">可拖动的元素</div>

<script>
function dragStart(event) {
  // 设置传输的数据
  event.dataTransfer.setData("text/plain", event.target.id);
}
</script>
  1. 接下来,为拖放目标元素添加dragover事件监听器,该事件在拖动元素在其上方拖动时触发。在事件处理函数中,需要调用event.preventDefault()来阻止默认的拖放行为。
代码语言:txt
复制
<div ondragover="dragOver(event)">拖放目标</div>

<script>
function dragOver(event) {
  event.preventDefault();
}
</script>
  1. 最后,为拖放目标元素添加drop事件监听器,该事件在拖动元素被释放时触发。在事件处理函数中,可以获取传输的数据并进行相应的处理。
代码语言:txt
复制
<div ondrop="drop(event)">拖放目标</div>

<script>
function drop(event) {
  event.preventDefault();
  // 获取传输的数据
  var data = event.dataTransfer.getData("text/plain");
  // 根据数据进行相应的处理
  var element = document.getElementById(data);
  event.target.appendChild(element);
}
</script>

以上就是使用HTML5的Drag and Drop API实现让可拖动的元素在被拖放时停留在新的位置的方法。在实际应用中,可以根据具体需求进行相应的样式和逻辑的调整。

腾讯云相关产品和产品介绍链接地址:

请注意,以上仅为腾讯云相关产品的示例,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

12.HTML5下一代HTML标准介绍与初识尝试

这只是HTML5一些特性,HTML5还有许多其他特性和API,可以为网页提供更丰富功能和用户体验。 作为一名初学者,如何学习HTML5?...] HTML5拖放标签 描述: 拖放(Drag 和 drop)是 HTML5 标准组成部分, 它是是一种常见特性,即抓取对象以后拖到另一个位置,在 HTML5 中任何元素都能够拖放。...ondragend : 在拖动操作末端运行脚本。 ondragover : 当元素在有效拖放目标上正在被拖动时运行脚本。 ondragenter : 当元素已被拖动到有效拖放区域时运行脚本。...ondragleave : 当元素离开有效拖放目标时运行脚本。 ondrop : 当被拖元素在被拖放时运行脚本(拖放)。...流程思路 设置元素拖放首先,为了使元素拖动,把 draggable 属性设置为 true : 拖动什么 -> ondragstart (事件)和

32220

drag事件详解:html5鼠标拖动排序及resize实现方案分析及实践

HTML5中直接提供了拖放API,只要通过监听元素拖放事件就能实现各种拖放功能。拖放API阐释拖放(Drag和 drop)是 HTML5 标准组成部分。...为了使元素拖动,必须把 draggable 属性设置为 true :testdraggable属性:设置元素是否拖动。...图片和链接按住鼠标左键选中,就可以拖放。文本只有在被选中情况下才能拖放。如果显示设置文本draggable属性为true,按住鼠标左键也可以直接拖放。...,被拖拽对象离开目标对象触发拖动事件列表每一个拖动元素,在拖动过程中,都会经历三个过程,拖动开始-->拖动过程中--> 拖动结束在拖动目标上触发事件 (源元素-被拖动元素):ondragstart...所以在dragover,dragenter,dragleave中做得更多应该是对数据处理,不是应用效果。

6.4K21
  • HTML5绘画与拖放事件

    HTML5绘画 在html5中出现了许多特性,绘画功能就是其中之一。由于html5新增这些特性,所以也在逐渐取代Flash,毕竟Flash比较占用内存,也经常性奔溃。...如何使用html5进行绘画: 由于我们是做后端开发,所以在这里只简单介绍一下html52D绘画,绘画制作都是基于canvas标签,所以先介绍一下canvas标签: canvas是一个画布,这个画布通常是一个矩形区域...拖放事件 拖放是一种常见特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准一部分,任何元素都能够实现拖放。...设置元素拖动: 为了使元素拖动,需要把元素 draggable 属性设置为 true ,img元素是默认可拖动,例如我把div设置为拖动: ? 运行结果,可以看到能够将div拖动: ?...ondragover事件: ondragover 事件会在被别的元素触碰到时触发,通过这个事件事件源对象,可以设置在何处放置被拖动元素。 默认地,无法将元素放置到其他元素中。

    3K30

    html5鼠标拖动排序及resize实现方案分析及实践

    对列表进行拖动排序,尺寸改变。之前一般会使用jQuery-UI。其通过mousedown、mousemove、mouseup这三个事件来实现页面元素被鼠标拖拽效果。...HTML5中直接提供了拖放API,只要通过监听元素拖放事件就能实现各种拖放功能。 拖放(Drag和 drop)是 HTML5 标准组成部分。...为了使元素拖动,必须把 draggable 属性设置为 true : test[object Object] 整个拖拽事件触发顺序如下...text/uri-list 注:如果给定类型数据不存在,则将其添加到拖动数据存储末尾,使得dataTransfer.types列表中最后一个项目将是类型。...HTML5前端技术教程:H5拖放 - 方伟景文章 - 知乎 https://zhuanlan.zhihu.com/p/47458212 转载本站文章《html5鼠标拖动排序及resize实现方案分析及实践

    3.1K10

    htm5特性

    与br元素区别是:br元素表示此处必须换行,wbr元素意思是浏览器窗口或父级元素宽度够宽。不进行换行,当宽度不够,主动在此处进行换行。...· 作为浏览器原生支持功能,audio和video元素无需安装。 媒体元素想web页面提供了通用、集成和脚本化控制API。...dragleave:被拖动元素离开目标元素触发,应在目标元素监听该事件。 dragover:被拖动元素停留在目标元素之中持续触发,应在目标元素监听该事件。...drap:被拖动元素或从文件系统选中文件,拖放落下触发。 dragend:网页元素拖动结束触发。...参数imgElement必须是一个图像元素不是指向图像路径,参数x和y表示图像相对于鼠标的位置。 Web Workers API Javascript是单线程

    1.8K20

    【JS】1724- 重学 JavaScript API - Drag and Drop API

    如何使用 使用拖放 API 主要包括以下 3 个步骤: 「定义拖拽(draggable)元素」:将需要拖动元素标记为拖拽,并指定相应事件处理逻辑。...下面是一个简单示例代码,演示了如何使用拖放 API : // 定义拖拽元素 const dragSource = document.getElementById("drag-source"); dragSource.addEventListener...当拖动 drag-source 元素,使用 event.dataTransfer.setData() 方法设置了拖动数据,放置目标元素,执行 drop事件监听回调方法,实现被拖动元素添加到可放置元素底下...4.3 工具推荐 以下是 5 个推荐工具,辅助您在使用拖放 API 进行开发提高效率: Sortable[7]: 27k⭐,拖放排序库,具有丰富自定义选项和事件。...使用现有的拖放库或框架,以简化拖放操作实现。 注意性能问题,特别是在处理大量拖放元素。 考虑移动设备上触摸操作,确保拖放功能在移动设备上可用性和易用性。

    27120

    H5拖放原生js将图片拖放另外一个元素

    HTML5 中,拖放是标准一部分,任何元素都能够拖放 2:元素拖放 draggable 属性设置为 true 3:元素拖放事件 通过拖放事件...其中最关键地方在于确定那里发生了拖放事件,有些事件是在被拖动元素上触发,而有些事件是在放置目标上触发。...拖动某些元素,将一次触发下列事件:ondragstart、ondrag、ondragend。 按下鼠标键并开始移动鼠标,会在被拖放元素上触发dragstart事件。...如果元素被拖出了放置目标,dragover事件不再发生,但会触发dragleave事件(类似于mouseout事件)。 如果元素被放到了放置目标中,则会触发drop事件不是dragleave事件。...接下来,我们说拖放图片事例。要求是这样:有两个body里面有两个空div,几张img。我们要实现图片可以随意拖放进入div里面,img在div里面可以随便更改位置

    2.1K30

    HTML5 & CSS3初学者指南(3) – HTML5特性

    介绍 本文介绍了 HTML5 一些特性。...主要包含以下几个方面: Web 存储 地理位置 拖放 服务器发送事件 Web存储 HTML5 Web 存储设计与构想是一个更好机制来存储客户端网络数据。...唯一区别在于, 一旦激活了点击按钮,getCurrentPosition()方法会返回位置信息; watchPosition()方法将继续获得位置信息,一旦用户设备位置发生变化并在初始话激活之后。...设置元素拖放 首先,为了使元素拖动,把 draggable 属性设置为 true : 拖动什么 然后,规定当元素拖动,会发生什么。...学习了 HTML5 特性,能够帮助我们在进行前端开发更加顺利,同时也可以借助一些前端开发工具。

    2.1K80

    前端里拖拖拽拽了解一下?

    元素是否允许被拖放响应 API 操作依赖于 draggable[2] 全局标签属性 draggable 是一个布尔值类型标签属性: true:元素可被拖拽 false:元素不可拖拽 当元素设置了...dragendondragend当拖动元素被释放(️松开、按键盘 ESC)拖拽dragenterondragenter当拖动元素到一个释放目标元素放置dragexitondragexit当元素变得不再是拖动操作选中目标放置...dragleaveondragleave当拖动元素离开一个释放目标元素放置dragoverondragover当元素被拖到一个释放目标元素(100 ms/次)放置dropondrop当拖动元素释放目标元素上释放放置...也就是说,如果不阻止放置元素 dragOver 事件,则放置元素不会响应“拖动元素“放置行为” // 绑定该事件元素支持放置 function handleDragOver(e) { //...1.3 DataTransfer 在上述事件类型中,不难发现,放置元素拖动元素分别绑定了自己事件,如何将拖拽元素和放置元素建立联系以及传递数据?

    4.9K30

    HTML5 拖放

    拖放HTML5 标准中一部分,任何标签元素都能够被拖放。 二、为什么需要拖放?...,这些模块摆放一般有一个初始默认位置,各种角色管理员可以根据自己喜好来将这些模块按照自己习惯进行拖动摆放 在HTML5 之前,我们要想实现针对页面中标签元素 移动和拖放,没有一个统一操作标准...注:Safari 5.1.2不支持拖动 HTML5 拖放实例 一、实现标签元素拖放步骤 由于要实现对某个元素拖放功能,需要事先进行多个参数设置,所以这里存在了步骤概念,我们按照如下步骤进行即可,...="true" /> 2、设置要拖动内容(ondragstart 和 setData()) 设置当元素拖动,要拖动内容是什么;这里需要给要拖动元素添加 ondragstart事件(当元素开始用鼠标拖动...,表示设置允许放置,默认行为是以链接形式打开 } 4、设置拖动元素位置(ondrop) 当我们松开鼠标后,表示我们要放置被拖动数据,这时会发生 drop 事件,我们要规定被拖动元素需要放置位置

    1.5K20

    HTML5 拖放API与Vue.js实战

    HTML5 拖放 API 是什么? 当用户将鼠标移到拖动元素拖动操作开始,然后将元素移动到启用拖放元素上。 再默认情况下,唯一拖动 HTML 元素是图像和链接。...从拖动到释放元素这段时间中,元素拖放后,将会在被拖动元素上触发两个事件:dragstart 和 dragend。 现在还不能把拖动元素拖放到任何地方。...与需要显式使元素拖动一样,它也需要启用放置。 要启用元素拖放功能需要侦听 dragover 事件并阻止默认浏览器操作。 <!...,将会在启用拖放元素上触发以下事件: Dragenter:当一个元素拖动到启用拖放元素触发一次Dragover:只要元素仍然位于启用了 drop 元素上,就会连续触发Drop:在把拖动元素拖放到启用了拖放元素上之后触发...添加拖放功能 添加拖放功能第一步是识别拖动组件和放置目标。 用户应该能够按照卡片中活动进度将卡片从一列拖到另一列。所以拖动组件应该是 Card 组件,放置目标是 Column 组件。

    4.3K10

    JavaScript进阶之实现拖拽

    会在我们拖放自动运行,这与我们拖放处理产生了冲突。...一个典型drag操作是这样开始:用户用鼠标选中一个拖动(draggable)元素,移动鼠标到一个可放置(droppable)元素,然后释放鼠标。...定义拖动效果 dropEffect 属性用来控制拖放操作中用户给予反馈。它会影响到拖动过程中浏览器显示鼠标样式。比如,当用户悬停在目标元素时候,浏览器鼠标也许要反映拖放操作类型。...有 3 个效果可以定义: copy 表明被拖动数据将从它原本位置拷贝到目标的位置。 move 表明被拖动数据将被移动。 link 表明在拖动位置和目标位置之间将会创建一些关系表格或是连接。...参考:MDN HTML5 drag & drop 拖拽与拖放简介

    2.7K40

    HTML中拖放介绍

    1.在jQuery UI里面会经常使用Draggable和Droppable,实现Web开发中拖放效果,当然这不是原生条拖放,所以在处理复杂拖放上还是需要自己动手写很多代码,最近开发中就遇到这个问题...没有具体开发过mobile web应用,不知道jQuery UIdraggable和droppable是否支持手机上触摸操作。...mousemove 如果鼠标没有松开,则是移动操作 需要判定拖动还是选择?...mouseup 释放鼠标按键,可能会触发放置操作 基于鼠标起始位置,是否放置在此位置 弊端: 1.需要考虑边界,而已需要提示哪里位置可以放置元素 2.不能将自己页面的元素与其他页面,或者窗口、浏览器中其他内容合并或者交互...第三阶段: HTML5发布之后,技术越来越成熟。而已标准中提供了拖放API,所以越来越多公司关注HTML5拖放操作。看一个Skydrive上传文件示例和Dropbox上传文件示例。

    3.1K100

    Web前端事件

    事件捕获 Netscape团队提出另一种事件流叫事件捕获,事件捕获思想是不太具体节点应该更早接收到事件,最具体节点应该最后接收到事件。...在 HTML5 中鼠标有了事件,如下表格: 属性 描述 ondrag 元素拖动时运行脚本。...ondragend 在拖动操作末端运行脚本 ondragenter 当元素元素已被拖动到有效拖放区域时运行脚本。 ondragleave 当元素离开有效拖放目标时运行脚本。...ondragover 当元素在有效拖放目标上正在被拖动时运行脚本 ondragstart 在拖动操作开端运行脚本 ondrop 当被拖元素在被拖放时运行脚本 onmousewheel 当鼠标滚轮正在被滚动时运行脚本...onreset 当表单中重置按钮被点击触发。HTML5 中不支持。 onselect 在元素中文本被选中后触发。 onsubmit 在提交表单触发。

    3.3K00

    HTML5原生拖放事件学习与实践

    前言 之前学习了 HTML5 拖放事件,开发中也用到了拖拽组件。为了厘清整体逻辑,专门做了一个小例子。...拖动又由 2 部分组成,分别是被拖动元素相关事件和元素容器相关事件。...1、被拖动元素相关事件 : 事件名称 说明 dragstart 在元素开始被拖动时候触发 drag 在元素拖动反复触发 dragend 在拖动操作完成触发 2、容器相关事件 : 事件名称 说明...将图中拖拽元素拖放到下面的容器中,这个过程效果如下所示。箭头表示拖拽方向,方框代表动态改变容器样式。 ? 最后,松开鼠标,将元素放入到下面的容器中,整个过程完成。 ?...,实现效果展示->第二部分,拖拽元素进入一个容器时候,容器展示阴影效果。

    1.2K20

    (长文预警) 你还在烦工作中碰到拖拽问题?一个框架jiejue

    这使我们可以测试较旧浏览器行为,甚至在较浏览器中,也可以使桌面浏览器,移动浏览器和旧浏览器之间拖放感觉更加一致。...当用户在排序元素内单击,在按下和松开之间,您手通常会略微移动。仅当您将指针移过一定公差才开始拖动,这样您就不会在每次单击意外开始拖动。...默认情况下,此选项为true,这意味着Sortable在应该被隐藏将从DOM中删除克隆元素 emptyInsertThreshold 选项 拖动鼠标必须与一个空排序对象之间距离(以像素为单位...),以便将拖动元素插入到该排序对象中。...交换插件 该插件修改了Sortable行为,以允许项目彼此交换不是进行排序。一旦开始拖动,用户就可以将其拖动到其他项目上,并且元素不会发生任何变化。但是,用户放置项目将与原始拖动项目交换 ?

    7.1K10

    H5新增特性及语义化标签

    为了更好地处理今天互联网应用,HTML5添加了很多新元素及功能,比如: 图形绘制,多媒体内容,更好页面结构,更好形式 处理,和几个api拖放元素,定位,包括网页 应用程序缓存,存储,网络工作者,...dialog> 定义对话框,比如提示框 (2)增强型表单 HTML5 拥有多个表单 Input 输入类型。...如果没有设置这些属性,浏览器不知道大小视频,浏览器就不能再加载保留特定空间,页面就会根据原始视频大小改变。 与 标签之间插入内容是提供给不支持 video 元素浏览器显示。...  拖放是一种常见特性,即抓取对象以后拖到另一个位置。...在 HTML5 中,拖放是标准一部分,任何元素都能够拖放。   拖放过程分为源对象和目标对象。源对象是指你即将拖动元素目标对象则是指拖动之后要放置目标位置

    2.3K30

    HTML5拖放功能

    欢迎关注加我vx:xiaoda0423,欢迎点赞、收藏和评论 不要害怕做梦,但是呢,也不要光做梦,要做一个实干家,不是空谈家,求真力行。 ?...HTML5拖放API功能直接实现拖放操作,而且拖放范围已经超出浏览器边界,HTML5提供文件api支持拖拽多个文件并上传。...光标拖放事件 在html5中提供了7个与拖放相关光标事件: 按照时间顺序: 第一,开始拖拽触发事件,事件作用对象是被拖拽元素-dragstart事件 第二,拖放过程中触发事件,事件作用对象是被拖拽元素...-dragover元素 第五,在拖放元素离开本元素范围触发,事件作用对象是拖放过程中光标经过元素-dragleave元素 第六,在拖放元素拖放到本元素触发,事件作用对象是拖放目标元素...[imgElement]表示图片对象,[x],[y]分别表示相对于光标位置横坐标和纵坐标 第五,addElement()方法:添加一起跟随拖放元素,如果想某个元素跟随被拖动元素一起被拖放,则使用此方法

    2.6K10

    Vue.Draggable 文档总结

    特性 支持触摸设备 支持拖拽和选择文本 支持智能滚动 支持不同列表之间拖拽 不以jQuery为基础 和视图模型同步刷新 和vue2国度动画兼容 支持撤销操作 当需要完全控制,可以抛出所有变化 可以和现有的...选择器字符串,使列表单元中符合选择器元素成为拖动手柄,只有按住拖动手柄才能使列表单元进行拖动 filter: selector 格式为简单css选择器字符串,定义哪些列表单元不能进行拖放,...dragClass:selector 格式为简单css选择器字符串,目标拖动过程中添加 forceFallback: boolean 如果设置为true,将不使用原生html5拖放,可以修改一些拖放元素样式等...当排序容器是个滚动区域,拖放可以引起区域滚动 scrollFn:function(offsetX, offsetY, originalEvent, touchEvt, hoverTargetEl...newIndex: 添加后索引 element: 被添加元素 removed: 从列表中移除元素 oldIndex: 移除前索引 element: 被移除元素

    9K20
    领券