fastclick使用方法

爲何存在延遲?

從點擊屏幕上的元素到觸發元素的 click 事件,移動瀏覽器會有大約 300 毫秒的等待時間。爲何這麼設計呢? 由於它想看看你是否是要進行雙擊(double tap)操做。javascript

兼容性

  • Mobile Safari on iOS 3 and upwards
  • Chrome on iOS 5 and upwards
  • Chrome on Android (ICS)
  • Opera Mobile 11.5 and upwards
  • Android Browser since Android 2
  • PlayBook OS 1 and upwards

不該用 FastClick 的場景

  • 桌面瀏覽器;
  • 若是 viewport meta 標籤 中設置了 width=device-width, Android 上的 Chrome 32+ 會禁用 300ms 延時;
 Copy
<meta name="viewport" content="width=device-width, initial-scale=1"> 
  • viewport meta 標籤若是設置了 user-scalable=no,Android 上的 Chrome(全部版本)都會禁用 300ms 延遲。
  • IE10 中,能夠使用 css 屬性 -ms-touch-action: none 禁止元素雙擊縮放

使用方法

TODO: 修改使用接口css

window.addEventListener('load', function() { FastClick.attach(document.body); }, false); 

Zepto.js:java

$(function() { FastClick.attach(document.body); }); 
相關文章
相關標籤/搜索