百度地图JS 自定义覆盖物Click事件无法点击

JavaScript016

百度地图JS 自定义覆盖物Click事件无法点击,第1张

给自定义覆盖物添加了click事件后,页面跳转再跳回有覆盖物的页面时,点击事件失效了。

之前是 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'))

}

})

这样的话,拖动地图不会触发点击事件了。

success: function (t) {

$.each(t.data, function (i, data) {

// 遍历 t.data 是数组

$("#text").append( // text 父div 的id 此处注意,在append点击时间不生效的时候 需要(""+i+"")这个形式;

"<div class='textLineImg-bottom'>" +

"<div class='textLeftImgCar' onclick='detail(""+i+"")'>"

+ t.data[i].car_plate_number + "</div></div>")

})

简单来说就是注意转义字符的使用

不生效可能是你没有阻止事件冒泡。

当点击取消按钮的时候,会触发点击id为name的元素,所以重新加上了带有show的类名。

应该在取消的按钮点击事件参数加上e,函数内加上“e.stopPropagation()”阻止事件冒泡。