vue項目解決移動端300ms延遲問題---------fastclick

參考github:https://github.com/ftlabs/fastclick

1. 下載:npm install --save fastclick。

2. 引入:在main.js文件中:這樣就解決了在移動端body下元素點擊300ms延遲的問題

import fastclick from "fastclick" 

fastclick.attach(document.body)

3.  原理:在檢測到touchend事件的時候,會通過DOM自定義事件立即出發模擬一個click事件,並把瀏覽器在300ms之後真正的click事件阻止掉。

4. 以下這幾種情況是不需要使用fastclick:

     4.1、FastClick是不會對PC瀏覽器添加監聽事件。
     4.2、Android版Chrome 32+瀏覽器,如果設置viewport meta的值爲width=device-width,這種情況下瀏覽器會馬上出發點擊事件,不會延遲300毫秒。

<meta name="viewport" content="width=device-width, initial-scale=1">

    4.3、所有版本的Android Chrome瀏覽器,如果設置viewport meta的值有user-scalable=no,瀏覽器也是會馬上出發點擊事件。
    4.4、IE11+瀏覽器設置了css的屬性touch-action: manipulation,它會在某些標籤(a,button等)禁止雙擊事件,IE10的爲-ms-touch-action: manipulation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章