元素拖拽

作者:一粒尘土  时间:2019-10-30
使用范围:两个元素位置交换,移动元素到指定位置

涉及函数

属性 解释
draggable 是否允许元素进行拖拽
dragstart 拖拽开始触发的函数,可在此获取元素
dragover 在目标元素内进行拖动时触发的函数
dragenter 当拖拽进入目标元素时出发的函数
dragend 拖拽结束

快速熟悉上边表格的知识点,然后结合如下的小demo进行加深记忆

html

<div
:key="imgIdx"
v-for="(img, imgIdx) in result"
:style="'background-image: url('+img.gallery_image_url+');'"
class="dib wi-17x ht-11x bdr-3 centerimage mr-14 mb-14 pr of-h hover-item graylight-bg"
:draggable="allowHandle"
@dragenter="dragEnter($event, img)"
@dragend="dragEnd($event, img)">
</div>

js

data () {
return {
drawTargetEle: {}
}
},
methods: {
/**
* 推拽开始,解决火狐无法拖拽情况
*/
dragStart (e, item) {
if (this.allowHandle) {
e.dataTransfer.setData('aaa', null)
}
},
/**
* 拖拽元素至目标元素内时触发
* @item 目标元素
* @info 可在此处获取,拖拽元素的一系列属性
*/
dragEnter (e, item) {
if (this.allowHandle) {
// 获取推拽的目标元素
this.drawTargetEle = item
}
},
/**
* 拖拽完成之后触发
* @item 目标元素
* @info 可在此处获取,拖拽元素的目标元素一系列属性
*/
dragEnd (e, item) {
console.log(item)
/**
* 进行拖拽完成的操作
*/
}, }

注解

  • 另外如需有需监听元素的拖拽情况,可调用对应的函数即可。
  • 如果不允许拖动到该元素区域内,可在dragover、dragenter中设置dropEffect:none;禁止拖拽。

欢迎大家关注我的微信公众号,一起学习一起进步

代码小书生

VUE 元素拖拽、移动的更多相关文章

  1. vue全局自定义指令-元素拖拽

    小白我用的是vue-cli的全家桶,在标签中加入v-drap则实现元素拖拽, 全局指令我是写在main.js中 Vue.directive('drag', { inserted: function ( ...

  2. 基于Vue实现拖拽效果

    参考地址:基于Vue实现拖拽效果 参考链接中讲的比较详细,我只使用了其中自定义指令的方法.整体代码如下: <template> <!-- 卡片 --> <div clas ...

  3. Vue 可拖拽组件 Vue Smooth DnD 详解和应用演示

    本文发布自 https://www.cnblogs.com/wenruo/p/15061907.html 转载请注明出处. 简介和 Demo 展示 最近需要有个拖拽列表的需求,发现一个简单好用的 Vu ...

  4. Selenium - 实现网页元素拖拽

    Drag and Drop, 使用鼠标实现元素拖拽的操作貌似很复杂, 在Selenium中, 借助OpenQA.Selenium.Interactions.Actions类库中提供的方法, 实现起来还 ...

  5. Js元素拖拽功能实现

    Js元素拖拽功能实现 需要解决的问题 最近项目遇到了一个问题,就是用户某个操作需要弹出一个自定义的内容输入框,但是有个缺点,当浏览太大的时候没办法点击确认和取消按钮,应为这个弹出框是采用绝对定位的,取 ...

  6. WPF中元素拖拽的两个实例

    今天结合之前做过的一些拖拽的例子来对这个方面进行一些总结,这里主要用两个例子来说明在WPF中如何使用拖拽进行操作,元素拖拽是一个常见的操作,第一个拖拽的例子是将ListBox中的子元素拖拽到ListV ...

  7. Selenium WebDriver-通过ActionChains实现页面元素拖拽

    #encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...

  8. html5的元素拖拽

    今天学习了妙味课堂的课程: 在html5中有支持元素拖拽的一些属性和方法: 一些实例代码如下: <div id="div1"></div> <ul&g ...

  9. vue内容拖拽放大缩小

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. openresty开发系列22--lua的元表

    openresty开发系列22--lua的元表 举个例子,在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作. 那如何计算两个table的相加 ...

  2. pytorch对模型参数初始化

    1.使用apply() 举例说明: Encoder :设计的编码其模型 weights_init(): 用来初始化模型 model.apply():实现初始化 # coding:utf- from t ...

  3. IsNull、rs、sum

    <% 'response.write (IsNull(rs("month_finish_count_price"))) If IsNull(rs("month_fi ...

  4. 【Mybatis】MyBatis之整合Spring(八)

    创建环境 系统:macOS Java:1.8 软件:eclipse,maven,mysql 创建步骤 本例:创建一个Maven项目(SpringMVC+Spring+Mybatis),页面上展示员工列 ...

  5. 转 zabbix 优化方法 以及数据库查询方法 两则

    ###########sample 1 https://www.cnblogs.com/hanshanxiaoheshang/p/10304672.html (不错) 如何从zabbix server ...

  6. 123457123457#0#----com.MC.3or1KongLongPT867----前拼后广--3or1恐龙PtGame-mc

    com.MC.3or1KongLongPT867----前拼后广--3or1恐龙PtGame-mc

  7. git 打tag(版本)、推送代码

    服务端:192.168.0.96 gitlab 客户端:192.168.0.97 git 服务端gitlab安装请参照: https://www.cnblogs.com/effortsing/p/10 ...

  8. 【嵌入式硬件Esp32】Ubuntu 1804下ESP32交叉编译环境搭建

    一.ESP32概述EPS32是乐鑫最新推出的集成2.4GWi-Fi和蓝牙双模的单芯片方案,采用台积电(TSMC)超低功耗的40nm工艺,拥有最佳的功耗性能.射频性能.稳定性.通用性和可靠性,适用于多种 ...

  9. [OpenCV开发]OpenCV图像编码和解码 imencode和imdecode使用,用于网络传输图片

    在很多应用中,经常会直接把图片的二进制数据进行交换,比如说利用 socket 通信传送图片二进制数据,或者直接用内存数据库(例如 Redis)来传递图片二进制数据. 这个时候,当你的应用程序读到内存里 ...

  10. Linux awk+uniq+sort 统计文件中某字符串出现次数并排序

    https://blog.csdn.net/qq_28766327/article/details/78069989 在服务器开发中,我们经常会写入大量的日志文件.有时候我们需要对这些日志文件进行统计 ...