小坦克


问题:在移动端做图表运用了hightcharts,引用了fastclick来消除300ms的延迟,但是发现苹果(安卓正常)上hightcharts的legend点击不起作用了,必须长按才行。

使用fastclick库,其实现思路是,取消 click 事件(参看源码 164-173 行),用 touchend 模拟快速点击行为(参看源码 521-610 行)。

在源码521-610行里可以看到fastclick对一些特殊的标签做了处理,这里我们也对hightcharts生成的一些标签做处理,在此函数里添加以下判断

if(targetTagName === 'g' || targetTagName === 'path' || targetTagName === 'text'  || targetTagName === 'tspan'  ){
   return false;
}

完美解决。

 

(此问题之前没有遇到过也不知道是不是没注意,我特意用了纯净的hightcharts代码做了实验,但是还是有问题,特在此记录一下,如果有同学遇到可以交流学习,如有不正确的可以指出,我在修改。)

posted on 2017-07-11 16:04  小坦克-攻城狮  阅读(489)  评论(0编辑  收藏  举报
返回
顶部