【VUE】拖拽自定义指令

gengboxb 578 0

main.js添加

Source Code
  1. Vue.directive('drag', {
  2.   bind (el) {
  3.     var oDiv = el
  4.     oDiv.onmousedown = function (ev) {
  5.       var disX = ev.clientX - oDiv.offsetLeft
  6.       var disY = ev.clientY - oDiv.offsetTop
  7.       ev.preventDefault()
  8.       document.onmousemove = function (ev) {
  9.         var l = ev.clientX - disX
  10.         var t = ev.clientY - disY
  11.         oDiv.style.left = l + 'px'
  12.         oDiv.style.top = t + 'px'
  13.       }
  14.       document.onmouseup = function () {
  15.         document.onmousemove = null
  16.         document.onmouseup = null
  17.       }
  18.     }
  19.   }
  20. })
复制 文本 高亮

使用

Source Code
  1. <div v-drag :style="{width:'100px', height:'100px', background:'red', position:'absolute', right:0, top:0}"></div>
复制 文本 高亮

发表评论 取消回复
表情 图片 链接 代码