移动端浏览器300ms延迟 与 点击穿透

iphone ios浏览器设计

用户点击了以后,要300ms延迟后才真正触发click事件,

因为用户点击后可能是(双击缩放(double tap to zoom),所以加了个300ms的限制

 

 

解决方法:

1.meta标签的viewport属性的 userscaable设置为false 禁用缩放

2.设置viewport视口宽度固定

2.使用fastclick的js,原理是监测到touchend的时候触发click事件 并把后面的禁止掉

 

 

2.点击穿透问题:

 移动端事件 touchstart->touchmove->touchend->click

 如果有一个弹窗,后面有一个div,点击这个弹窗的确定后,弹窗立刻消失德华,300ms后触发了click事件,那么相当于也点了它后面的div

 

解决方法:

1.不要混用touch和click事件,建议全部使用touch事件

2.使用fastclickjs,全部使用click事件

 

posted @ 2020-06-22 13:01  hh9515  阅读(246)  评论(0)    收藏  举报