perfect-scrollbar 和 fastclick 整合后首次需要点击两次的处理

来源:互联网 发布:主机与设备传送数据时 编辑:程序博客网 时间:2024/05/21 09:01

1 概要

1.1 perfect-scrollbar:用来做滚动,笔iscroll轻量
1.2 fastclick: 用来消除touch事件和click事件的延时

2 如果scroll的区域中有 按钮,会导致问题.

类似https://github.com/noraesae/perfect-scrollbar/issues/395的描述

3 两个问题

3.1 touchend后,会频繁的调用updatecss方法,且每10ms更新一次
3.2 在第一次点击元素时,perfect-scrollbar组件会把事件拦截,导致按钮无法正常点击

4 临时解决方案

4.1 定义额外变量

var t_differenceY = 0;

在touchMove方法触发时,将滑动的距离进行赋值

t_differenceY = differenceY;

在touchEnd的easingLoop判断中添加

if(t_differenceY < 0.1){
clearInterval(easingLoop);
return;
}

4.2 定义额外变量
window.t_scroll_hack

在touchStart方法中添加如下代码

//hacked by tian
var target=(e.target);
if(target.hasClass(‘hidden-input’) && !window.tian_scroll_hack){target.trigger(‘click’);
window.tian_scroll_hack = 1;
}

0 0
原创粉丝点击