一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

移動端常見問題(click 300ms延遲)

 行者花雕 2020-07-25

根本原因:double click 雙擊

移動端默認雙擊情況下會有方法效果,當你點擊一次之后,移動端無法判斷你是否下一次還會繼續(xù)完成雙擊,因此存在300 ms 延遲

 

有一部分瀏覽器,比如chrome瀏覽器,當你在meta頭設置width=device-width時,它會自動禁止300 ms的延遲

推薦的解決方法:fastclick https://github.com/ftlabs/fastclick

原理:當檢測到touchend事件后,會觸發(fā)自己模擬的click事件

 

先測試一下touchstart和click之間的時間差:

我用的chrome

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>移動端動畫</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <style>
        *{padding:0;margin:0;}
        .box{width:100px;height: 100px;background-color: pink;}
    </style>
</head>
<body>
    <div class="box" id="box"></div>

    <script>
        
        var box=document.getElementById("box"),
            startTime=0;

            box.addEventListener("touchstart",function(){
                startTime=Date.now();//獲取當前時間
                console.log("touchstart");
            },false);    

            box.addEventListener("click",function(){
                console.log("click");
                console.log(Date.now()-startTime);
            },false);    

    </script>
</body>
</html>

 

 這個88ms的時間差延遲是可以接受的,說明chrome瀏覽器已經(jīng)解決了這個問題

 

但是有部分瀏覽器比如安卓機上的還是會存在300ms延遲問題

 

 

解決方法:首先引入fastclick.js

<script src="fastclick.js"></script>

然后添加這段代碼:

<script>
        if ('addEventListener' in document) {
            document.addEventListener('DOMContentLoaded', function() {
                FastClick.attach(document.body);
            }, false);
        }
    </script>

 

 jQuery版需要用下面這段代碼:

$(function() {
    FastClick.attach(document.body);
});

 

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

1、FastClick不會對PC瀏覽器添加監(jiān)聽事件
2、Android版Chrome 32+瀏覽器,如果設置viewport meta的值為width=device-width,這種情況下瀏覽器會馬上出發(fā)點擊事件,不會延遲300毫秒。

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

 

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    99日韩在线视频精品免费| 黄色激情视频中文字幕| 日韩av亚洲一区二区三区| 伊人久久青草地婷婷综合| 中国美女偷拍福利视频| 在线免费国产一区二区三区| 精品少妇人妻av免费看| 在线观看视频日韩精品| 不卡免费成人日韩精品| 亚洲精品成人综合色在线| 俄罗斯胖女人性生活视频| 我要看日本黄色小视频| 国产高清一区二区不卡| 欧美国产日产在线观看| 精品国产av一区二区三区不卡蜜| 久久机热频这里只精品| 国产精品欧美一区二区三区不卡| 久久大香蕉精品在线观看| 国产韩国日本精品视频| 欧美又黑又粗大又硬又爽| 六月丁香六月综合缴情| 国产毛片不卡视频在线| 黄色国产一区二区三区| 久久精品国产熟女精品| 欧美日韩亚洲国产精品| 日本一区二区三区黄色| 日本在线高清精品人妻| 草草夜色精品国产噜噜竹菊| 日本加勒比在线观看不卡| 国产亚州欧美一区二区| 午夜亚洲精品理论片在线观看 | 欧美字幕一区二区三区| 午夜精品一区二区av| 国产成人亚洲综合色就色| 欧美久久一区二区精品| 成人精品国产亚洲av久久| 日本人妻精品中文字幕不卡乱码| 好骚国产99在线中文| 精品少妇人妻av一区二区蜜桃 | 精品少妇一区二区视频| 欧美日韩亚洲巨色人妻|