tap事件的原理詳解

2022-07-13 14:45:19 字數 711 閱讀 3561

點選事件延遲問題所在:

在移動端中,由於兩次觸控是放大操作,,所以當你點選一次的時候,瀏覽器會等待300ms,看使用者是否會進行第二次點選,如果沒有的話,才會執行點選事件

為什麼要解決:

隨著h5遊戲,移動端網頁的流行,使用者對web網頁的效能也隨著提高,點選事件的延遲會影響使用者體驗,尤其是在遊戲中,這是個大忌.

這是因為這個問題的存在,所以出現了tap事件,tap事件對應的是在移動端中的.

tap事件的原理:

tap事件的原理其實是源於觸控touch事件,在移動觸控事件就是在同個點觸發,及touchmove的距離距離touchstar的距離為0,並且點選的時間不超過某個設定的時間值,超過該時間值的話,就屬於長按了

下面我封裝了乙個事件,模擬tap事件的原理:

//

封裝tap的方法

function

tap(ele,callback))

ele.addeventlistener('touchmove',function

(e))

ele.addeventlistener('touchend',function

(e)

//判斷是否為長按

if ((date.now()-starttime)>maxtime)

//如果能夠到這裡

callback(e);

}) }

mui和zepto的tap事件

zepto.js和mui一起使用的時候,tap事件會發生兩次,這時只要不引用zepto.js的touch.js就可以了,只用mui的tap事件 b5教程網 1.zepto.js和mui一起使用的時候,tap事件會發生兩次,這時只要不引用zepto.js的touch.js就可以了,只用mui的tap事...

homebrew的tap功能詳解

homebrew是使用ruby開發的mac的軟體包管理器.這裡就說明一下有關taps third party repositories 的知識 brew tap可以為brew的軟體的 跟蹤,更新,安裝新增更多的的tap formulae 如果你在核心倉庫沒有找到你需要的軟體,那麼你就需要安裝第三方的...

原生封裝的 tap 和 swipe 事件

function itcast dom 2 記錄按下的時間 返回的是1970 1 1 到現在的時間戳 毫秒 starttime date now console.log starttime 3 記錄開始的座標 startx e.touches 0 clientx starty e.touches 0...