vue自定义拖拽指令
drag.js
import Vue from 'vue'
const drag=Vue.directive('drag',{
bind:function(el){
// 一般指针只有放在窗口的顶部才能拖动整个窗口,使用时在组件的顶部设置一个类名为dragHeader的元素
let dragHeader=el.querySelector(".dragHeader");
// 指针样式
dragHeader.style.cursor="move";
dragHeader.onmousedown=(e)=>{
var disx=e.pageX-el.offsetLeft;
var disy=e.pageY-el.offsetTop;
document.onmousemove=function(){
el.style.left=e.pageX-disx+'px';
el.style.top=e.pageY-disy+'px';
}
document.onmouseup=function(){
document.onmousemove=null;
document.onmouseup=null;
}
}
}
})
export default drag;
使用示例
A.vue
<template>
<div v-drag>
<div class="dragHeader"></div>
<div>....................</div>
</div>
</template>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具