如何使用Vue实现拖拽功能

这次给大家带来如何使用Vue实现拖拽功能,使用Vue实现拖拽功能的注意事项有哪些,下面就是实战案例,一起来看一下。

效果图:

如何使用Vue实现拖拽功能

HTML代码:

位置
x:{{val.x}}
y:{{val.y}}

//注意这里要通过指令绑定函数将当前元素的位置数据传出来

登录后复制

JS代码:

Vue.directive('drag',//自定义指令                       {bind:function (el, binding) {        let op = el;  //当前元素        let self = this; //上下文        op.onmousedown = function (e) {         //鼠标按下,计算当前元素距离可视区的距离          let disX = e.clientX - op.offsetLeft;          let disY = e.clientY - op.offsetTop;          document.onmousemove = function (e) {           //通过事件委托,计算移动的距离             let l = e.clientX - disX;            let t = e.clientY - disY;           //移动当前元素             op.style.left = l + 'px';            op.style.top = t + 'px';             //将此时的位置传出去            binding.value({x:e.pageX,y:e.pageY})          };          document.onmouseup = function (e) {                      document.onmousemove = null;            document.onmouseup = null;           };        };      }    }  );  window.onload = function () {    let vm = new Vue({      el: '#box',      data: {        val: '123',        style: {          width: '100px',          height: '100px',          background: 'aqua',          position: 'absolute',          right: '30px',          top: 0        }      },      methods:{      //接受传来的位置数据,并将数据绑定给data下的val        greet(val){          vm.val = val;        }      } ,   });  }

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

如何使用vue中filter

怎样使用vue判断dom的class

以上就是如何使用Vue实现拖拽功能的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2751229.html

(0)
上一篇 2025年3月8日 05:48:32
下一篇 2025年3月8日 05:48:38

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论