touch事件和click事件多次觸發的問題

weixin_34337265發表於2018-06-12

問題: 不繫結touch事件,只是去繫結click,移動端會出現,事件不結束,UI介面停留某一個不太好的畫面,例如:

5941459-b83e9ed21206b220.png

如果繫結touch事件,則可能會出現多次觸發,違背了我們的最初意願.

觸發過程: touch和click事件的觸發過程為: 

        touchstart --> touchmove --> touchend -->click。

一般解決:

        新增e.preventDefault(),這樣就可以組織後續事件的觸發.

        另根據查閱到的資料:touchmove中新增該方法可能會導致頁面滾動出現問題.如果我們只需要進行豎直滾動,那麼可以判斷在x,y軸的滾動距離來判斷是否呼叫e.preventDefault();

相關文章