方法 | 描述 |
---|
querySelector | 获取单个对象 |
addEventListener | 添加事件监听 |
removeEventListener | 移除事件监听(removeEventListener 需要实名的方法) |
e.clientX,e.clientY | 鼠标位置 |
e.offsetX,e.offsetY | 鼠标距离当前点击元素的x y |
var svgE = d.querySelector('svg')
svgE.addEventListener('mousedown', mDown, false)
svgE.addEventListener('mouseup', function () {
svgE.removeEventListener("mousemove", mMove, false)
svgE.removeEventListener("mousemove", mDown, false)
})
function mDown (e) {
this.initX = e.offsetX;
this.initY = e.offsetY;
svgE.addEventListener('mousemove', mMove, false)
}
function mMove (e) {
this.mouseMoveX = e.clientX
this.mouseMoveY = e.clientY
let left = this.mouseMoveX - this.initX
let top = this.mouseMoveY - this.initY
svgE.style.position = 'relative'
svgE.style.left = left + "px";
svgE.style.top = top + "px";
}