移动Safari中的Google Maps v3 InfoBox事件传播
Google Maps v3 InfoBox Event Propagation in Mobile Safari
我使用地图实用程序库中的googlemapsapiv3和infobox创建了一个infobox。信息框中有溢出的数据。在IE、FF、Chrome和Safari桌面上滚动操作完全符合预期。然而,在移动Safari中,滚动根本不起作用。这几乎就像infoBox没有检测到开始滚动的触摸一样。
我创建了这个jsfiddle来演示这个问题。正如你所看到的(在iOS模拟器或iOS设备上),mouseenter、touchstart、mouseleave和touchend事件被触发得很好;只是没有办法向下滚动查看溢出的文本。
我整个星期都在为此而挣扎。如有任何帮助,我们将不胜感激
我不知道这是否是移动safari(很可能)、infobox.js或谷歌地图中的错误,但由于某种原因,如果在移动safari的信息框中启用了事件传播,滚动将无法在该信息框中工作。当启用事件传播时,滚动将在其他浏览器(FF、Chrome和桌面Safari)中工作。此外,在信息框关闭事件传播的情况下,滚动在移动狩猎中也很好。
因此,我用来解决这个问题的破解方法只是确定客户端是否是iOS浏览器,然后相应地设置事件传播。我知道这种方法很难,但这是我能想到的最好的方法。看看这个fiddle,确认它在移动safari和其他浏览器中都能工作。此外,请确保您使用的是最新版本的infobox.js(1.1.11)
// For infobox
var myOptions = {
enableEventPropagation: true
};
$(document).on("click touchstart", ".clickableclass", function() {
// your function
});
touchstart为我工作
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- 移动Safari中的Google Maps v3 InfoBox事件传播
- 如何捕获Infobox关闭事件(Google Maps API V3)
- 当一个标记位于打开的infobox -事件鼠标悬停与infobox插件谷歌地图API v3