0

在 iOS6 发布后,我们网站中一直使用的 Highchart 条形图停止响应 iOS 设备上的点击事件。尽管图形正确呈现,但单击函数在单击其中的数据点时根本不会触发。

奇怪的是,我发现如果该函数附加到 mouseOut 事件,则在 iOS 中单击时会触发该函数。IE 如果我定义events: { mouseOut: function(){ //dosomething } }然后单击图表中的数据点,iOS 设备将执行该功能。(iOS 设备 mouseOut 可能总是这种情况,因为没有类似的触摸事件;但是,关键是在这种情况下会触发一些事件。)

我在一个平面 HTML 页面中创建了一组非常基本的图表,以测试 iOS 6 中 Highcharts 的基本功能,并且对于附加到数据点的点击事件似乎可以正常工作。

我很高兴发布带有图形数据细节的代码(或 Fiddle 链接),但我更想知道是否有其他人在 iOS 6 中使用 Highcharts JS 看到过这样的问题。

非常感谢您提供的任何见解。(正如我所说,我使用我们网站生成的对象和数据创建的基本图表似乎可以在平面 HTML 页面上正常工作,所以我认为代码在回答问题方面不会非常有帮助。但是,我愿意如果有人认为这会帮助他们得出结论,请发布该代码。)

4

1 回答 1

1

万一其他人遇到这个问题,我发现它与触摸事件的 JQuery 插件扩展 (jquery.ui.touch-punch) 发生冲突,这是我们用来使 JQ UI 滑块工作的东西。

我还在 Highcharts 系列设置中明确启用了允许点击事件,以前没有指定(尽管在所有其他浏览器中没有它的情况下点击事件按预期工作)。

移除触摸事件 JQ 和添加显式点击设置的组合解决了该问题。

我不太确定为什么这个特定实例会导致点击处理程序出现问题(我们在其他地方的许多元素上使用了许多点击事件),尽管我确实在 Highcharts 源代码本身中看到了一些处理触摸事件的尝试。

希望这对其他人有帮助。

于 2012-12-18T17:21:54.313 回答