解決ios雙擊頁面上移問題

CallmeJay發表於2019-01-29

在做h5頁面時,發現ios快速點選螢幕時,會導致頁面上移,百思不得其解,眾裡尋他千百度,找到了解決方案。

//解決ios雙擊頁面上移問題
//在專案中測試不緊input/button這些表單控制元件有這個問題,p,div等也有問題,於是乎就直接在body開刀了
(function()
{
    var agent = navigator.userAgent.toLowerCase();        //檢測是否是ios
    var iLastTouch = null;                                //快取上一次tap的時間
    if (agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0)
    {
        document.body.addEventListener('touchend', function(event)
        {
            var iNow = new Date()
                .getTime();
            iLastTouch = iLastTouch || iNow + 1 /** 第一次時將iLastTouch設為當前時間+1 */ ;
            var delta = iNow - iLastTouch;
            if (delta < 500 && delta > 0)
            {
                event.preventDefault();
                return false;
            }
            iLastTouch = iNow;
        }, false);
    }
 
})();
複製程式碼

附上原文連結

相關文章