手机端300ms延迟
原因是:移动端要判断是否是双击,所以单击之后不能够立刻触发click,要等300ms,直到确认不是双击了才触发click。所以就导致了click有延迟。
解决方案
1.touchstart
缺点:用户在滑动页面的时候要是不小心碰到了相关元素也会触发touchstart
2.meta标签
Chrome 32版本已经把这个延迟去掉了。
把viewport设置成设备的实际像素,那么就不会有这300ms的延迟。
注意:如果设置initial-scale=1.0,在chrome上是可以生效,但是Safari 不会
3.设置 CSS
html{
touch-action: manipulation;
}
4.zepto的tap事件和fastclick.js