<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>练习:自定义指令 实现元素的拖拽</title>
<script src="js/vue.js"></script>
<style>
#itany div{
width: 100px;
height: 100px;
position:absolute;
}
#itany .hello{
background-color:red;
top:0;
left:0;
}
#itany .world{
background-color:blue;
top:0;
right:0;
}
</style>
</head>
<body>
<div id="itany">
<div class="hello" v-drag>itany</div>
<div class="world" v-drag>网博</div>
</div>
<script>
Vue.directive('drag',function(el){
el.onmousedown=function(e){
//获取鼠标点击处分别与div左边和上边的距离:鼠标位置-div位置
var disX=e.clientX-el.offsetLeft;
var disY=e.clientY-el.offsetTop;
console.log(disX,disY);
//包含在onmousedown里面,表示点击后才移动,为防止鼠标移出d
VUE自定义指令实现鼠标拖拽
最新推荐文章于 2024-08-20 20:52:20 发布
本文介绍了如何在Vue中使用自定义指令实现鼠标拖拽功能。通过设置元素的position为absolute,并监听onmousedown、onmousemove和onmouseup事件,实现元素的动态拖动效果。拖拽过程中,计算鼠标移动的坐标,更新元素的位置,确保平滑移动。在鼠标弹起时,清除事件监听以防止继续拖动。
摘要由CSDN通过智能技术生成