vue v-dialogDrag: 弹窗拖拽


Vue.directive('dialogDrag', {
inserted:function(el) {

const dragDom = el.querySelector('.jsPropupLayerHead');
dragDom.style.cursor = 'move';

dragDom.onmousedown = (e) => {
event.stopPropagation();
// 鼠标按下,计算当前元素距离可视区的距离
const disX = e.clientX - el.offsetLeft;
const disY = e.clientY - el.offsetTop;

console.log('disX='+disX)
console.log('disY='+disY)


document.onmousemove = (e)=>{
//用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
let left = e.clientX - disX;
let top = e.clientY - disY;
//移动当前元素
el.style.left = left + 'px';

el.style.top = top + 'px';




};
document.onmouseup = (e) => {
document.onmousemove = null;
document.onmouseup = null;
};

}
}
})


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM