【问题标题】:How to stopPropagation of touch event on overlay GoogleMap如何在覆盖 GoogleMap 上停止触摸事件的传播
【发布时间】:2017-12-19 22:26:58
【问题描述】:

您可以找到代码here。我尝试了全球和本地事件

event.preventDefault()
event.stopPropagation()
event.returnValue = false
event.cancelBubble = true;

以上代码对于鼠标点击事件工作正常,但对于触摸事件映射仍然接收点击事件。

【问题讨论】:

  • 你拼错了cancelBubble
  • 谢谢,我在那里写了正确的 cancelBubble 但仍然无法正常工作

标签: javascript google-maps


【解决方案1】:

你可以给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();
  })

这是你的小提琴更新:https://jsfiddle.net/beaver71/xx1ycd7L/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 2011-08-26
    • 1970-01-01
    • 2011-01-04
    • 2014-01-18
    • 1970-01-01
    相关资源
    最近更新 更多