美文网首页
vue div拖拽

vue div拖拽

作者: 小李不小 | 来源:发表于2024-01-11 17:59 被阅读0次

在前端开发中,拖拽是非常常见的一种方式,但是之前感觉拖拽实现起来比较麻烦,一直未深入研究,现在整理了几个实现方式:

1、原生方式

html部分

1 <div class="div" v-drag ></div> 

使用

methods:{},
    directives: {
        drag: {
            // 指令的定义
            bind: function (el) {
                let odiv = el;   //获取当前元素
                el.onmousedown = (e) => {
                    //算出鼠标相对元素的位置
                    let disX = e.clientX - odiv.offsetLeft;
                    let disY = e.clientY - odiv.offsetTop;
                    let left = '';
                    let top = '';
                    document.onmousemove = (e)=>{
                        //用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
                        left = e.clientX - disX;
                        top = e.clientY - disY;
                        //绑定元素位置到positionX和positionY上面
                        //移动当前元素
                        odiv.style.left = left + 'px';
                        odiv.style.top = top + 'px';
                    };
                    document.onmouseup = (e) => {
                        document.onmousemove = null;
                        document.onmouseup = null;
                    };
                };
            }
        }
    }

2、vue 组件 vue-drag-resize

vue-drag-resize 这个组件不但能够实现拖拽功能,还可以实现缩放功能。

加载:

npm i -s vue-drag-resize

使用

<template>
     <div id="app">
          <vue-drag-resize></vue-drag-resize>
     </div>
  </template>
  import VueDragResize from 'vue-drag-resize';
  export default {
      name: 'app',
      components: {
          VueDragResize
      },
  }

相关文章

  • 事件应用

    拖拽 拖拽原理 三大事件 -鼠标和Div的相对距离不变 把拖拽加到document上 如果拖得太快,会移出div,...

  • 事件应用

    拖拽 拖拽原理 三大事件 -鼠标和Div的相对距离不变 把拖拽加到document上 如果拖得太快,会移出div,...

  • vue+elementUi开发一个可拖拽的和拉伸编辑的画板

    最近几天一直在用vue去实现动态编辑模板的一个小功能,包括自由拖拽div,自由拉伸div,自由设置宽度,颜色文本内...

  • div 拖拽

    /* 图标功能加载*/pageCommon.nav = function () {var posX;var pos...

  • vue中实现div自由拖拽

    给div绑定一个自定义指令v-drag 给div设置绝对定位 写自定义指令 //自定义指令 directives:...

  • 拖拽div的值到table

    Html 代码 jQeruyUI拖拽效果_拖拽div的值到table表格...

  • vue 移动端 实现div拖拽移动

    相关知识点touchstart 当在屏幕上按下手指时触发touchmove 当在屏幕上移动手指时触发touchen...

  • vue 移动端 实现div拖拽移动

    相关知识点touchstart 当在屏幕上按下手指时触发touchmove 当在屏幕上移动手指时触发touchen...

  • vue实现div拖拽互换位置

    template模板 script: 最后 为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,帮助大家在...

  • js 拖拽 DIV

网友评论

      本文标题:vue div拖拽

      本文链接:https://www.haomeiwen.com/subject/qiitodtx.html