您可以找到代码here .我尝试了全局和本地事件
event.preventDefault()
event.stopPropagation()
event.returnValue = false
event.cancelBubble = true;
上面的代码对于鼠标点击事件工作正常,但对于触摸事件 map 仍然接收点击事件。
最佳答案
你可以给touchend
事件添加一个监听器,这样你就可以停止这个事件的传播:
google.maps.event.addDomListener(div, "click", function(e) {
console.log("over click");
e.preventDefault();
e.stopPropagation();
clickOverlay();
})
google.maps.event.addDomListener(div, "touchend", function(e) {
console.log("over touchend");
e.preventDefault();
e.stopPropagation();
clickOverlay();
})
这是您更新的 fiddle :https://jsfiddle.net/beaver71/xx1ycd7L/
关于javascript - 如何停止在覆盖谷歌地图上传播触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39328251/