100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue 实现文本的拖拽_Vue-实现简单拖拽(自定义属性)

vue 实现文本的拖拽_Vue-实现简单拖拽(自定义属性)

时间:2022-03-19 23:55:31

相关推荐

vue 实现文本的拖拽_Vue-实现简单拖拽(自定义属性)

拖拽

*{

margin: 0;

padding: 0;

}

#box{

background: red;

width: 100px;

height: 100px;

position: absolute;

}

Vue.directive("drag",(el,{modifiers,value})=>{

let{l,t}=modifiers;

el.addEventListener("mousedown",handleDownCb)

let disX,disY;

function handleDownCb(e){

disX=e.offsetX;

disY=e.offsetY;

document.addEventListener("mousemove",handleMoveCb);

document.addEventListener("mouseup",handleUpCb);

}

function handleMoveCb(e){

let x=e.clientX-disX;

let y=e.clientY-disY;

if((l&&t) && value){

el.style.left=x+"px";

el.style.top=y+"px";

return;

}

if(l&&value){

el.style.left=x+"px";

return;

}

if(t&&value){

el.style.top=y+"px";

return;

}

}

function handleUpCb(){

document.removeEventListener("mousemove",handleMoveCb);

document.removeEventListener("mouseup",handleUpCb);

}

})

let vm=new Vue({

el:"#app",

data:{

flag:true

}

})

————————————————

原文链接:/Pluto_zk/article/details/100128288

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。