之前是 div.onclick=function(){}
于是
var bugFlag=true
div.addEventListener("touchstart", function(e){
bugFlag = true
})
div.addEventListener("touchmove", function(e){
$timeout(function () {
bugFlag = false
},100) // 移动端的话需要延时
})
div.addEventListener("touchend", function(e){
if(bugFlag==true){
attribute(this.getAttribute('myId'),this.getAttribute('myTotal'),this.getAttribute('startCity'))
}
})
这样的话,拖动地图不会触发点击事件了。
//把点击事件对应的函数设置到marker对象上marker.clickFun=function(){
....
}
//marker绑定click,触发click调用刚才设置的方法
marker.addEventListener("click", function(){
marker.clickFun()
})
//其他地方触发:遍历获取对应marker实例,调用方法
let markers = Bmap.getOverlays()//获取所有marker
for(let i=0i<markers.lengthi++){
if(treeNode.id==markers[i].id){
markers[i].clickFun()
}
}