封装指令

const vDraggable = {
mounted(el) {
let pos1 = 0,
pos2 = 0,
pos3 = 0,
pos4 = 0; el.onmousedown = dragMouseDown; function dragMouseDown(e) {
e = e || window.event;
e.preventDefault();
// 获取鼠标位置
pos3 = e.clientX;
pos4 = e.clientY;
document.onmouseup = closeDragElement;
document.onmousemove = elementDrag;
} function elementDrag(e) {
e = e || window.event;
e.preventDefault();
// 计算新位置
pos1 = pos3 - e.clientX;
pos2 = pos4 - e.clientY;
pos3 = e.clientX;
pos4 = e.clientY;
// 设置元素新位置
el.style.top = el.offsetTop - pos2 + 'px';
el.style.left = el.offsetLeft - pos1 + 'px';
} function closeDragElement() {
// 停止移动
document.onmouseup = null;
document.onmousemove = null;
}
},
};

使用

<div v-draggable class="draggable">
使用指令拖动的 Div (Vue 3)
</div>

vue中的div 拖拽的更多相关文章

  1. 实现Div拖拽

    直观的理解div拖拽:当鼠标对着可拖拽部分按住后并拖动,div会跟着鼠标一起运动,并且其运动空间限制在浏览器内部,当放开鼠标时,则div停止运动. 实现div拖拽需要三个重要的事件: (1)onmou ...

  2. 运用DIV拖拽实现resize和碰撞检测

    运用DIV拖拽实现resize和碰撞检测 Div由拖拽改变大小 演示demo 当我们运用html元素"textarea"写一个文本输入框时,浏览器会自动生成以下样式 用鼠标拖动右下 ...

  3. Vue. 之 Element dialog 拖拽

    Vue. 之 Element dialog 拖拽 默认情况下,在使用Element的Dialog模块时,弹出框是不能移动的,且 一旦点击遮罩层区域,弹框就会消失. 解决方案: 1 在 utils 中新 ...

  4. 案例:简易的Div拖拽

    案例:简易的Div拖拽 鼠标移入Div区域后,按下鼠标左键,可以拖动Div移动;松开鼠标左键,Div拖动停止.同时要求Div不能拖出屏幕显示区域外. 拖拽原理:距离不变.三个事件(onmousedow ...

  5. html之div拖拽,html5拖拽

    html之div拖拽 http://www.w3school.com.cn/html5/html_5_draganddrop.asp

  6. 纯js实现DIV拖拽

    写代码的时候遇到需要对绝对布局的div进行拖拽的功能,起初为了省事直接在网上扒拉了一番,看到大神张鑫旭的一篇文章<JavaScript实现最简单的拖拽效果>,便直接拿来使用(膜拜大神).但 ...

  7. jQuery UI =>jquery-ui.js中sortable方法拖拽对象位置偏移问题

    今天要处理sortable方法处理的对象,拖拽的时候,位置偏移的问题. 按理应该是鼠标在哪,对象就跟着在哪的 百度了一下问题,http://blog.csdn.net/samed/article/de ...

  8. div拖拽缩放jquery插件编写——带8个控制点

    项目中需要对div进行拖拽缩放,需要有控制面板8个控制点的那种,原以为这么常见的效果应该能搜索到很多相关插件,然而可以完成拖拽的实繁,却找不到我想要的,还是自己动手丰衣足食吧 效果预览(只支持pc端) ...

  9. div拖拽的问题

    今天看到一篇写的很好的文章,摘抄如下: 思路 父盒子相对定位,子元素,也就是被拖拽的元素绝对定位 当鼠标在子元素中按下时,绑定鼠标移动事件,根据鼠标位置改变元素位置 设置鼠标当前位置(offsetX, ...

  10. html --- javascript --- div --- 拖拽方块

    当鼠标拖拽的很快时,光标会走出方块,所以把事件注册在了方块的父节点上, 如有疑问请参照:http://blog.csdn.net/a9529lty/article/details/2708171 使用 ...

随机推荐

  1. AOP流程及原理

    目录 一.AOP结构介绍 @Pointcut 通知 原理 连接点 拦截器 二.Bean介入点 EnableAspectJAutoProxy AspectJAutoProxyRegistrar Anno ...

  2. 🎀文件对比工具--BeyondCompare

    简介 Beyond Compare 是一款功能强大的文件和文件夹比较工具,由Scooter Software开发.它可以帮助用户轻松地比较文件和文件夹的差异,并且可以合并变化.同步文件以及备份重要数据 ...

  3. 前端艺术实践:用Storybook构建交互式组件文档

    对于前端来说,组件话已经从热门话题变成了基础能力,自定义组件或自建组件库已是再常见不过的事了.在实际工作中组件库的文档直接决定开发体验和效率,文档建设的重要性不言而喻.今天要推荐的工具叫Storybo ...

  4. MVVM_UI和逻辑分离(事件利用命令替换),命令代替事件,命令传递事件参数,附完整demo

    近期公司重构了些界面,因为换肤和界面定制的缘故,需要把样式和逻辑分开:所以记录下关键的操作:主要是利用命令代替事件,利用命令传递事件的参数... 先大致看下效果: 主要是利用 Prism 库,可直接利 ...

  5. WPF 解决PasswordBox 属性Password无法绑定到后台的问题

    在 WPF 中,你可以使用密码框的 Password 属性来绑定到后台,但是由于安全性考虑,WPF 的密码框不直接支持双向绑定.然而,你仍然可以通过其他方式实现将密码框的内容绑定到后台. 一种常见的方 ...

  6. 代码随想录第十一天 | Leecode 150. 逆波兰表达式求值、239. 滑动窗口最大值、347. 前k个高频词

    Leecode 150. 逆波兰表达式求值 题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/description ...

  7. 【经验】Word 2021|如何在Word里做出和Markdown中一样漂亮的引用样式(结尾附成品)

    文章目录 写在最前 方法以及参数 1 打开样式窗口 2 设置一些基本操作 3 打开格式窗口 4 修改样式 最后一步!保持间隔 成品的介绍(一些自卖自夸)+获取链接(不想看做法的话直接下载) 写在最前 ...

  8. dashboard部署

    1.下载dashboard资源请单 wget  https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/re ...

  9. 制作带sshd功能的centos镜像

    docker run -it --name node1 docker.io/centos bash  创建node1容器 docker exec -it node1 bash 进入node1 yum ...

  10. 鸿蒙 NEXT (一)初识鸿蒙

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...