const addEvent = (obj, sEv, fn) => {
|
if (obj.addEventListener) {
|
obj.addEventListener(sEv, fn, false)
|
} else {
|
obj.attachEvent('on' + sEv, fn)
|
}
|
}
|
|
const addWheel = (obj, fn) => {
|
function fnDir(ev) {
|
let oEvent = ev || event
|
let dir = oEvent.wheelDelta ? oEvent.wheelDelta < 0 : oEvent.detail > 0
|
fn(dir)
|
oEvent.preventDefault && oEvent.preventDefault()
|
return false
|
}
|
|
if (window.navigator.userAgent.indexOf('Firefox') !== -1) {
|
addEvent(obj, 'DOMMouseScroll', fnDir)
|
} else {
|
addEvent(obj, 'mousewheel', fnDir)
|
}
|
}
|
|
/* ******************拖拽函数********************** */
|
const drag = (mapGroup, parentNode, fn) => {
|
// let obj = obj&& typeof obj === 'string'?document.getElementById(obj) : obj;
|
|
let obj = document.querySelector('#' + mapGroup._renderer.elem.id)
|
// let parentNode = document.querySelector(parentNode)
|
// let pWidth = parentNode.width.baseVal.value
|
// let pHeight = parentNode.height.baseVal.value
|
|
obj.onmousedown = function (e) {
|
let ev = e || event
|
ev.preventDefault()
|
let disX = ev.clientX - mapGroup.translation.x
|
let disY = ev.clientY - mapGroup.translation.y
|
/* let oWidth = obj.querySelector('image').width.baseVal.value
|
let oHeight = obj.querySelector('image').height.baseVal.value */
|
// 阻止冒泡事件
|
ev.stopPropagation ? ev.stopPropagation() : ev.cancelBubble = true
|
document.onmousemove = function (ev) {
|
// let ev = ev || event
|
let json = {
|
x: ev.clientX - disX,
|
y: ev.clientY - disY
|
}
|
|
fn(json)
|
}
|
document.onmouseup = function (ev) {
|
// let ev = ev || event
|
document.onmousemove = document.onmouseup = null
|
}
|
}
|
}
|
|
export {
|
addEvent,
|
drag,
|
addWheel
|
}
|