前言
学习编程可以追溯到高中时代,回首望去20多年,有遗憾,因为没能真正从事这方面职业,但是兴趣使然一直没有放弃,大大小小项目也开发过,独立的合作的都有。突发奇想也许我也能写写东西,是分享,也是学习,更是想交朋友。今天分享一个窗口拖拽功能。希望大家喜欢!
正题
先上图
![](https://i-blog.csdnimg.cn/blog_migrate/ba2f12dd1eda493452818649dc363b45.png)
需要8个方向拖拽与鼠标按住移动,这个功能应该是比较常见的,当然网上的教程很多,不过我还是自己写了一个适合自己的,当然,参考是必不可少的!!
按住拖拽
先上代码
export const PressDrop = (moveTarget: MaybeRef<HTMLElement | null>, target: MaybeRef<HTMLElement | null>) => {const onMouseDown = (e: MouseEvent) => {e.preventDefault()const move = unrefElement(moveTarget)const el = unrefElement(target)if (!el || !move)returnconst distanceX = e.clientX - el.offsetLeftconst distanceY = e.clientY - el.offsetTopdocument.onmousemove = (e: MouseEvent) => {e.preven