diff --git a/src/directive/quickMenuDrag/quickMenuDrag.js b/src/directive/quickMenuDrag/quickMenuDrag.js index 000031662..b60e4929f 100644 --- a/src/directive/quickMenuDrag/quickMenuDrag.js +++ b/src/directive/quickMenuDrag/quickMenuDrag.js @@ -1,45 +1,57 @@ export default { - bind(el) { - const dragDom = el; - dragDom.style.cursor = 'move'; + bind(el) { + const dragDom = el; + dragDom.style.cursor = 'move'; - /** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/ - const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null); + /** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/ + const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null); - dragDom.onmousedown = (e) => { - /** 鼠标按下,计算当前元素距离可视区的距离*/ - const disX = e.clientX; - const disY = e.clientY; + dragDom.onmousedown = (e) => { + /** 鼠标按下,计算当前元素距离可视区的距离*/ + const disX = e.clientX; + const disY = e.clientY; - /** 获取到的值带px 正则匹配替换*/ - let styL, styT; + /** 获取到的值带px 正则匹配替换*/ + let styL, styT; - /** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/ - if (sty.left.includes('%')) { - styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100); - styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100); - } else { - styL = +sty.left.replace(/\px/g, ''); - styT = +sty.top.replace(/\px/g, ''); - } + /** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/ + if (sty.left.includes('%')) { + styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100); + styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100); + } else { + styL = +sty.left.replace(/\px/g, ''); + styT = +sty.top.replace(/\px/g, ''); + } - document.onmousemove = function (e) { - /** 通过事件委托,计算移动的距离*/ - const l = e.clientX - disX; - const t = e.clientY - disY; + document.onmousemove = function (e) { + /** 通过事件委托,计算移动的距离*/ + const l = e.clientX - disX; + const t = e.clientY - disY; - /** 移动当前元素*/ - dragDom.style.left = `${l + styL}px`; - dragDom.style.top = `${t + styT}px`; + /** 移动当前元素*/ + if (l + styL < 0) { + dragDom.style.left = `0px`; + } else if (l + styL > document.body.clientWidth - dragDom.clientWidth - 10) { + dragDom.style.left = `${document.body.clientWidth - dragDom.clientWidth - 10}px`; + } else { + dragDom.style.left = `${l + styL}px`; + } + if (t + styT < 0) { + dragDom.style.top = `0px`; + } else if (t + styT > document.body.clientHeight - dragDom.clientHeight - 10) { + dragDom.style.top = `${document.body.clientHeight - dragDom.clientHeight - 10}px`; + } else { + dragDom.style.top = `${t + styT}px`; + } - /** 将此时的位置传出去*/ - // binding.value({ x: e.pageX, y: e.pageY }); - }; + /** 将此时的位置传出去*/ + // binding.value({ x: e.pageX, y: e.pageY }); + }; - document.onmouseup = function () { - document.onmousemove = null; - document.onmouseup = null; - }; - }; - } + document.onmouseup = function () { + document.onmousemove = null; + document.onmouseup = null; + }; + }; + } }; diff --git a/src/views/newMap/jointTrainingNew/chatBox.vue b/src/views/newMap/jointTrainingNew/chatBox.vue index 106d35fb7..f6a7f56ba 100644 --- a/src/views/newMap/jointTrainingNew/chatBox.vue +++ b/src/views/newMap/jointTrainingNew/chatBox.vue @@ -1,5 +1,5 @@