|
|
@@ -0,0 +1,41 @@
|
|
|
+/**
|
|
|
+ * v-dialogDrag 弹窗拖拽
|
|
|
+ * Copyright (c) 2019 ruoyi
|
|
|
+ */
|
|
|
+
|
|
|
+export default {
|
|
|
+ bind(el, binding, vnode, oldVnode) {
|
|
|
+ const value = binding.value;
|
|
|
+ if (value == false) return;
|
|
|
+ var startX = 0;
|
|
|
+ var startY = 0;
|
|
|
+ el.addEventListener(
|
|
|
+ 'touchstart',
|
|
|
+ function (e) {
|
|
|
+ e.stopPropagation();
|
|
|
+ startX = e.targetTouches[0].pageX - this.offsetLeft;
|
|
|
+ startY = e.targetTouches[0].pageY - this.offsetTop;
|
|
|
+ },
|
|
|
+ false
|
|
|
+ );
|
|
|
+ el.addEventListener(
|
|
|
+ 'touchmove',
|
|
|
+ function (e) {
|
|
|
+ e.stopPropagation();
|
|
|
+ var leftX = e.targetTouches[0].pageX - startX;
|
|
|
+ var topY = e.targetTouches[0].pageY - startY;
|
|
|
+ var thisW = e.targetTouches[0].target.clientWidth;
|
|
|
+ var parentW = e.targetTouches[0].target.offsetParent.clientWidth;
|
|
|
+ var thisH = e.targetTouches[0].target.clientHeight;
|
|
|
+ var parentH = e.targetTouches[0].target.offsetParent.clientHeight;
|
|
|
+
|
|
|
+ console.log('leftX=' + leftX);
|
|
|
+ console.log('topY=' + topY);
|
|
|
+ this.style.left = leftX + 'px';
|
|
|
+ this.style.top = topY + 'px';
|
|
|
+ },
|
|
|
+ false
|
|
|
+ );
|
|
|
+ el.addEventListener('touchend', function (e) {}, false);
|
|
|
+ },
|
|
|
+};
|