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

使用jQuery Draggable和Droppable实现拖拽功能

上篇博客已经介绍了web开发基本拖放原理,现在给出需要完成功能。最后运行效果如下图所示: 主要功能需求说明: 1.左侧元素结构最后会通过Ajax call服务器数据来生成,能支持多级元素。...父节点可以折叠起来 2.用户可以通过拖放操作,将元素从左侧拖放到右侧。如果是父节点元素,那么需要把子节点元素一并拖到右边 3.元素放到右侧,右侧可以接受元素区域有2种可能。...实现拖动父节点时,其下面的子节点元素也要拖放到右边。如果是拖动子节点元素,就在右边直接显示子节点元素。...所以我们要计算出我们点击B元素位置,然后让draggableDiv拖动时候显示正确位置,然后拖动就是draggableDiv元素,用户看起来是拖动B节点元素。...完成“放”操作。可以从上图看出,我是将元素上边左边和下边缘左边存到一个数组里面。然后过程,一直记录了拖动左边,放到右侧时,就可以判断当前元素将要放位置。具体可以下载代码查看。

2.7K60

HTML5 拖放API与Vue.js实战

拖放 API 将可拖动元素添加到 HTML,使我们可以构建包含可以拖动具有丰富 UI 元素 Web 应用。 本文中我们将用 Vue.js 构建一个简单看板应用。...HTML5 拖放 API 是什么? 当用户将鼠标移到可拖动元素上时,拖动操作开始,然后将元素移动到启用拖放元素上。 再默认情况下,唯一可拖动 HTML 元素是图像和链接。...可以开始拖动操作时(调用 dragstart 事件时)将数据添加到拖动数据存储,并且只能在完成拖放操作(调用 drop 事件时)才能接收数据。...从拖动到释放元素这段时间中,元素被拖放,将会在被拖动元素上触发两个事件:dragstart 和 dragend。 现在还不能把可拖动元素拖放到任何地方。...总结 本文中,我们介绍了什么是 HTML 5 拖放 API ,如何使用,以及如何在 Vue.js 实现。 拖放功能也可以在其他前端框架和原生 JavaScript 中使用。

4.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

HTML5 拖放

一、什么是拖放(Drag 和 drop)? 拖放(Drag 和 drop)WEB软件应用是一种常见操作,就是用户可以用鼠标点击对象以后拖到另一个位置。...拖放HTML5 标准一部分,任何标签元素都能够被拖放。 二、为什么需要拖放?...WEB应用开发,可能需要针对页面某个对象:图片、文字、容器等,进行位置移动来实现自定义布局 常见拖放应用一:电商平台中商家 店铺装修,这个时候电商平台会提供多个可以拖动模块,商家可以根据...,这些模块摆放一般有一个初始默认位置,各种角色管理员可以根据自己喜好来将这些模块按照自己习惯进行拖动摆放 HTML5 之前,我们要想实现针对页面标签元素 移动和拖放,没有一个统一操作标准...该方法将返回 setData() 方法设置为相同类型数据 被元素数据 是被元素 id ("drag1") 把被拖动图片元素 追加 到放置元素(目标元素) 二、拖动一个图片到一个div容器

1.5K20

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

HTML5直接提供了拖放API,只要通过监听元素拖放事件就能实现各种拖放功能。拖放API阐释拖放(Drag和 drop)是 HTML5 标准组成部分。...dragover -> dragleave -> drop ->dragend目标对象事件:drop:源对象拖放到目标对象目标对象完全接受被拖拽对象时触发,可理解为目标对象内松手时触发。...返回一个我们dragstart事件设置拖动数据格式数组。 格式顺序与拖动操作包含数据顺序相同。files返回拖动操作文件列表。包含一个在数据传输上所有可用本地文件列表。...如果effectAllowed属性是定为none,则不允许拖放元素dropEffect   表示拖放操作视觉效果(作用于目标元素),如果dropEffect 属性设定为none,则不允许被拖放到目标元素...move:应该把拖动元素移动到放置目标copy:应该把拖动元素复制到放置目标link:表示放置目标会打开拖动元素(但拖动元素必须是一个链接,有URL)chrome 默认是显示一个绿色加号,设置

6.1K21

JavaScript进阶之实现拖拽

最近做到react项目就有一个拖拽需求,然后大概搜索了一下,找到了star比较高react-dnd库,但是阅读react-dnd官方文档还是有点难受,因为概念性比较强,所以介绍react-dnd...,此事件作用在目标元素上 ondragover 事件:拖拽元素目标元素上移动时候触发事件,此事件作用在目标元素上 ondrop 事件:被拖拽元素目标元素上同时鼠标放开触发事件,此事件作用在目标元素上...另外,如果是从其他应用软件或是文件东西进来,尤其是图片时候,默认动作是显示这个图片或是相关信息,并不是真的执行drop。此时需要用用documentondragover事件把直接干掉。...定义拖动效果 dropEffect 属性用来控制拖放操作中用户给予反馈。它会影响到拖动过程浏览器显示鼠标样式。比如,当用户悬停在目标元素上时候,浏览器鼠标也许要反映拖放操作类型。...有 3 个效果可以定义: copy 表明被拖动数据将从原本位置拷贝到目标的位置。 move 表明被拖动数据将被移动。 link 表明拖动源位置和目标位置之间将会创建一些关系表格或是连接。

2.6K40

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

HTML5直接提供了拖放API,只要通过监听元素拖放事件就能实现各种拖放功能。 拖放(Drag和 drop)是 HTML5 标准组成部分。...,被拖拽对象离开目标对象时触发 目标对象事件: drop:源对象拖放到目标对象目标对象完全接受被拖拽对象时触发,可理解为目标对象内松手时触发。...dataTransfer,主要是用于源对象和目标对象之间传递数据。...text/uri-list 注:如果给定类型数据不存在,则将其添加到拖动数据存储末尾,使得dataTransfer.types列表最后一个项目将是新类型。...如果effectAllowed属性是定为none,则不允许拖放元素 dropEffect   表示拖放操作视觉效果,如果dropEffect 属性设定为none,则不允许被拖放到目标元素

3K10

界面劫持之拖放劫持

JavaScript或者Java API支持下,这个攻击过程会变得非常隐蔽。因为突破了传统ClickJacking一些先天局限,所以这种新型"拖拽劫持"能够造成更大破坏。...02拖放劫持核心思路"拖放劫持"思路是诱使用户从隐藏不可见iframe"拖拽"出攻击者希望得到数据,然后放到攻击者能控制另外一个页面,从而窃取数据。...另外一种方式是,通过浏览器 API 接口将 iframe 内容拖拽到目标网页 text area ,攻击者就可以获得用户网页存在敏感信息。...setData操作完成向系统剪贴板存储需要传递数据,传递数据分为两种类型:文本数据和URL数据。HTML5扩展,其允许指定任意MIME类型。...图片用户拖动和释放实际上是使用getdata方法和setdata方法,先将选中信息储存在剪贴板然后将信息打印textarea,由于加载网页使用了携带tokenform提交,所以就可以轻松拿到用户

20520

JavaScript 学习-50.实现页面菜单拖放(Drag 和 Drop)

前言 拖放是一种常见操作,即抓取对象以后从一个位置拖到另一个位置。 HTML5 拖放是标准一部分,任何元素都能够拖放。...拖放(Drag 和 Drop) 拖曳操作,被拖曳元素称做源对象,是指页面设置了draggable=”true”属性元素;源对象进入元素称作目标元素,目标元素可以是页面的任一元素。...拖放内容 - ondragstart 和 setData() 然后,规定当元素被拖动时发生事情。...该方法将返回 setData() 方法设置为相同类型任何数据 被数据是被元素 id (“drag1”) 把被元素追加到放置元素 使用示例 一个完整拖曳效果是由拖曳(Drag)和释放(Drop...)组成HTML 5任何元素都能够实现拖曳操作,可以通过为元素添加属性draggable=’true’ 来实现, 拖曳操作,被拖曳元素称做源对象,是指页面设置了draggable=”true

98720

界面劫持之拖放劫持分析

JavaScript或者Java API支持下,这个攻击过程会变得非常隐蔽。因为突破了传统ClickJacking一些先天局限,所以这种新型"拖拽劫持"能够造成更大破坏。...02 拖放劫持核心思路 "拖放劫持"思路是诱使用户从隐藏不可见iframe"拖拽"出攻击者希望得到数据,然后放到攻击者能控制另外一个页面,从而窃取数据。...另外一种方式是,通过浏览器 API 接口将 iframe 内容拖拽到目标网页 text area ,攻击者就可以获得用户网页存在敏感信息。...setData操作完成向系统剪贴板存储需要传递数据,传递数据分为两种类型:文本数据和URL数据。HTML5扩展,其允许指定任意MIME类型。...用户拖动和释放实际上是使用getdata方法和setdata方法,先将选中信息储存在剪贴板然后将信息打印textarea,由于加载网页使用了携带tokenform提交,所以就可以轻松拿到用户

24530

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

] HTML5 之拖放标签 描述: 拖放(Drag 和 drop)是 HTML5 标准组成部分, 它是是一种常见特性,即抓取对象以后拖到另一个位置, HTML5 任何元素都能够拖放。...ondragend : 拖动操作末端运行脚本。 ondragover : 当元素在有效拖放目标上正在被拖动时运行脚本。 ondragenter : 当元素已被拖动到有效拖放区域时运行脚本。...ondragleave : 当元素离开有效拖放目标时运行脚本。 ondrop : 当被元素正在被拖放时运行脚本(拖放)。...在上面的例子,ondragstart 属性调用了一个函数,drag(event),规定了被拖动数据,dataTransfer.setData() 方法设置被数据数据类型和值: function...放到何处 -> ondragover事件规定在何处放置被拖动数据。 默认地,无法将数据/元素放置到其他元素,如果需要设置允许放置,我们必须阻止对元素默认处理方式。

26620

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

一、HTML5 拖放 (Drag)和放(Drop)是 HTML5 标准组成部分,了解掌握之后,举一反三,有助于提升我们拖拽场景下技术方案设计能力。...拖动元素期间,一些与拖放相关事件会被触发,像 drag 和 dragover 类型事件会被频繁触发。...1.3 DataTransfer 在上述事件类型,不难发现,放置元素和拖动元素分别绑定了自己事件,可如何将拖拽元素和放置元素建立联系以及传递数据?...值为:none、copy、link、move (2) 方法 设置给定类型数据。如果该类型数据不存在,则将其添加到末尾,以便类型列表最后一将是新格式。...但 getData() 测试中发现只能在 ondrop 事件获取到值: image 1.4 一个案例掌握拖放 API <div class="drag" draggable="true

4.6K30

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

HTML5 拖放是标准一部分,任何元素都能够拖放 2:元素拖放 draggable 属性设置为 true 3:元素拖放事件 通过拖放事件...其中最关键地方在于确定那里发生了拖放事件,有些事件是在被拖动元素上触发,而有些事件是放置目标上触发。...按下鼠标键并开始移动鼠标时,会在被拖放元素上触发dragstart事件。 触发dragstart事件,随即会触发drag事件,而且元素被拖动期间会持续发送该事件。...当拖动停止时(无论是把元素放到了有效放置目标,还是放到了无效放置目标上),会触发dragend事件。...如果元素被拖出了放置目标,dragover事件不再发生,但会触发dragleave事件(类似于mouseout事件)。 如果元素被放到了放置目标,则会触发drop事件而不是dragleave事件。

2K30

HTML5绘画与拖放事件

HTML5绘画 html5出现了许多新特性,绘画功能就是其中之一。由于html5新增这些新特性,所以也逐渐取代Flash,毕竟Flash比较占用内存,也经常性奔溃。...虽然绘画基于canvas,但是canvas本身并没有绘制能力,仅仅是图形容器,必须使用js脚本来完成实际绘图任务。 通过 JavaScript 来绘制: canvas 元素本身是没有绘图能力。...利用以上所介绍知识点制作一个2D坦克大战地图: 代码示例: ? ? ? 运行结果: ? 地图可以自己二维数组上绘制,1表示显示图片,2表示显示钢板图片,3则是显示草地图片。...拖放事件 拖放是一种常见特性,即抓取对象以后拖到另一个位置。 HTML5 拖放是标准一部分,任何元素都能够实现拖放。...结合以上几个知识点,可以实现将img元素,来回拖放到不同div元素,代码示例: ? 运行结果: ? ? ?

3K30

vc60修改快捷键-MSDEV.EXE-应用程序错误解决办法

如果没有与其, 关联快捷方式请按照步骤 5 来删除。 有默认为没有快捷键对该项。 8. 从 类别 中选择 加载 。 9. 两加载命令 和 命令窗口中显示。 10....单击 文件 菜单并拖动 Open 命令 文件 弹出式注销, 然后释放。 3. 单击 项目 菜单, 单击 添加到项目 和然后关闭弹出 文件 命令释放。 4.... 自定义 对话框, 选择 命令 选项卡。 5. 从 类别 列表框中选择 外接 。 6. 到 文件 菜单 命令拖放由 Open 命令 空间中。 7....单击 文件 菜单,然后将 文件 弹出式菜单 打开 命令拖放并将其释放。 单击 项目 菜单,单击 添加项目 ,然后将,弹出菜单 文件 命令并释放 自定义 对话框选择该 命令 选项卡。...从 类别 列表框中选择 加载 。 将 命令拖到 文件 菜单拖出, 由 打开 命令空间中。 命令到 添加项目 项目 菜单上 文件 命令空间中。

1.4K20

vc60修改快捷键-MSDEV.EXE 版本

如果没有与其, 关联快捷方式请按照步骤 5 来删除。 有默认为没有快捷键对该项。 8. 从 类别 中选择 加载 。 9. 两加载命令 和 命令窗口中显示。 10....单击 文件 菜单并拖动 Open 命令 文件 弹出式注销, 然后释放。 3. 单击 项目 菜单, 单击 添加到项目 和然后关闭弹出 文件 命令释放。 4.... 自定义 对话框, 选择 命令 选项卡。 5. 从 类别 列表框中选择 外接 。 6. 到 文件 菜单 命令拖放由 Open 命令 空间中。 7....单击 文件 菜单,然后将 文件 弹出式菜单 打开 命令拖放并将其释放。 单击 项目 菜单vc60修改快捷键,单击 添加项目 ,然后将,弹出菜单 文件 命令并释放。...命令到 添加项目 项目 菜单上 文件 命令空间中。 本文共 1575 个字数,平均阅读时长 ≈ 4分钟

1.5K20

前端10大开源拖拽排序库汇总, 让搭建,更简单

Interact.js 「interact.js」 是一个 「JavaScript」 资源库提供,放,调整尺寸和多点触摸手势功能用于现代浏览器。...Sortable 「Sortable」 —是一个「JavaScript」库,用于现代浏览器和触摸设备上对拖放列表进行重新排序。无需「jQuery」。...提供了一个视觉效果引擎,一个拖放库(包括可排序列表),几个控件(基于「Ajax」动态下拉列表,原地编辑,滑块)等等。...有很多库允许React拖放交互. 其中最值得注意是惊人「react-dnd」. 提供了一套非常出色拖放函数,这些函数特定情况下非常适用疯狂地不一致html5拖放功能....Formily React 受控模式下,表单整树渲染问题非常明显。

5.3K21

界面劫持之点击劫持

最主要是,由于拖放操作不受浏览器“同源策略“影响,用户可以把一个域内容拖放到另一个不同域,由此攻击者可能通过劫持某个页面的拖放操作实现对其他页面链接窃取,从而获得 session key,token...iframe 载入目标网页,然后隐藏目标网页,欺骗用户点击隐藏恶意链接。...外联框架主要功能是筛选,只显示内联框架特定按钮。)3.3点击操作劫持技术成功隐藏目标网页,攻击者下一个目标是欺骗用户点击特定按钮,最简单实用方法是使用社会工程学。...4.2: index.html 页面设计“Click me”按钮位置与 inner.html 页面“Login”按钮位置重合。...4.3:当用户以为点击 index.html 页面上“Click me”按钮时,实际是触发了 inner.html 页面上“Login”按钮onclick方法。

65620

整理了12款开源拖拽库, 轻松上手可视化搭建

Interact.js 「interact.js」 是一个 「JavaScript」 资源库提供,放,调整尺寸和多点触摸手势功能用于现代浏览器。...Sortable 「Sortable」 —是一个「JavaScript」库,用于现代浏览器和触摸设备上对拖放列表进行重新排序。无需「jQuery」。...提供了一个视觉效果引擎,一个拖放库(包括可排序列表),几个控件(基于「Ajax」动态下拉列表,原地编辑,滑块)等等。...有很多库允许React拖放交互. 其中最值得注意是惊人「react-dnd」. 提供了一套非常出色拖放函数,这些函数特定情况下非常适用疯狂地不一致html5拖放功能....Formily React 受控模式下,表单整树渲染问题非常明显。

35920
领券