元素拖拽

作者:一粒尘土  时间: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. Flutter和原生交互学习

    PlatformChannel功能简介 PlatformChannel分为BasicMessageChannel.MethodChannel以及EventChannel三种.其各自的主要用途如下: B ...

  2. flutter DateTime日期&时间选择器

    import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'dart:async'; class ...

  3. shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机

    shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机 备份mysql中的库或者表 mysqldump 常用参数详解: -u 用户名 -p 密码 -h ...

  4. DbSet.Attach(实体)与DbContext.Entry(实体).State = EntityState.Modified 区别

    当你使用这个DbSet.Update方法时,实体框架将你实体的所有属性标记为EntityState.Modified,所以跟踪它们.如果你只想更改部分属性,而不是全部属性,请使用DbSet.Attac ...

  5. Objective-C轻量级泛型

    在Apple发布Xcode7的时候,不仅把Swift编程语言升级到了2.0版本,而且还对Objective-C做了许多提升,包括引入__nonnull/__nullable.其中,对于Objectiv ...

  6. Python3基础 交换两个变量的值

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  7. 深入学习c++--容器

    1. 简介 1. 序列式容器: array, vector, deque, list, forward_list --- 数组 或者 指针实现 2. 关联容器: set, map, multiset, ...

  8. Qt编写自定义控件69-代码行数统计

    一.前言 代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行.注释行.代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计.写完这个工具第一件事情就 ...

  9. 报错:java.lang.AbstractMethodError: nl.techop.kafka.KafkaHttpMetricsReporter.logger()Lcom/typesafe/scalalogging/Logger;

    报错背景: CDH启动kafka的时候出现报错情况,并且报错的节点挂掉. 报错现象: Exiting Kafka due to fatal exception java.lang.AbstractMe ...

  10. 常用OID(SNMP)

    系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1.3.6.1.2.1.1.3.0 监控时间 s ...