如何解决在场景中的 Mapbox-gl 中“单击”不会触发“mouseDown”事件
美好的一天,
在最新版本的 mapbox gl js 中,我绑定了几个事件,例如 click、mousedown、mouseup 和 mousemove。
在移动设备中,如果我点击,应该发生以下事件顺序:
"mouseMove"(First)
"mouseDown"
"mouseUp"
"click"(Last)
然而,在某些情况下,只有 mouseMove 事件发生。我注意到只有在 Map 上添加 mapboxgl 弹出窗口并且我的鼠标光标位于其上方时才会发生这种情况。
似乎在移动设备中,当我单击标记时,首先会调用“mouseMove”事件,该事件会显示弹出窗口。但是其余的事件(“mouseDown”、“mouseUp”和“click”)在弹出窗口而不是地图上被调用。
我很困惑,如何直接调用绑定在 Map(MapEvents) 上的回调?
我可以做的一个技巧是添加 setTimeout 延迟,以便该事件可以先向下映射,然后再添加弹出窗口。但我真的希望,如果有更好的方法来实现这一点。
任何建议都会有所帮助。
Codepen(请求请在 chrome 移动设备模拟器中打开)
https://codepen.io/dollysingh3192/pen/QWKzdbO
此外,在 Dropbox 中添加了 giphy(使用偏移编辑)。看看!
https://www.dropbox.com/s/87bq7t762s6t6qw/Jan-17-2021%2000-13-36.mp4?dl=0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。