加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

基于Vue实现拖拽功能

发布时间:2020-12-17 02:19:14 所属栏目:百科 来源:网络整理
导读:本文实例为大家分享了Vue实现拖拽功能的具体代码,供大家参考,具体内容如下 效果图: HTML代码: x:{{val.x}} y:{{val.y}} JS代码: {bind:function (el,binding) { let oDiv = el; //当前元素 let self = this; //上下文 oDiv.onmousedown = function (e)

本文实例为大家分享了Vue实现拖拽功能的具体代码,供大家参考,具体内容如下

效果图:

HTML代码:

x:{{val.x}}
y:{{val.y}}

JS代码:

{bind:function (el,binding) { let oDiv = el; //当前元素 let self = this; //上下文 oDiv.onmousedown = function (e) { //鼠标按下,计算当前元素距离可视区的距离 let disX = e.clientX - oDiv.offsetLeft; let disY = e.clientY - oDiv.offsetTop; document.onmousemove = function (e) { //通过事件委托,计算移动的距离 let l = e.clientX - disX; let t = e.clientY - disY; //移动当前元素 oDiv.style.left = l + 'px'; oDiv.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;
}
},});
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读