首頁  >  文章  >  web前端  >  解決行動端touchstart事件穿透問題方案

解決行動端touchstart事件穿透問題方案

巴扎黑
巴扎黑原創
2017-07-20 15:26:402270瀏覽

【來源】:在開發行動端網站時,會經常徘徊在click和touchstart之間;因為touchstart雖然好用和快速響應;但是其缺點也是顯而易見的,當我們大面積的使用touchstart的時候就會遇到,滾動頁面的時候會頻繁的觸發,導致其不友好的體驗;所以,不能單獨的說哪個好與不好,而應該利用其長處,規避其缺點;

而且,對於a標籤,在行動端的跳轉方式,等同於click(經過自己實際體驗)

【問題】在我們在上層觸發touchstart的時候,下層的click或者a標籤都會同時被觸發(嚴格的講是350ms之後觸發)

【原理】是由於click的觸發時間是500ms,而touchstart觸發時間是350ms,由於500>350導致的用戶出現了穿透問題

# 【解決方法】解決問題的方法有多重多樣,換個角度換個方式,就有不同的答案;以下介紹幾個我在實際中行之有效的方法,僅供參考:

  1. 可以把touchstart換成touchend,因為觸發touchend需要200ms所以可以把觸發時間這個原理問題解決掉(這個也是我經常使用的,處理點擊問題)

  2. 大家也可以在觸發下面一層覆蓋上一層透明層,讓其穿透到這個透明層,而不是有事件的那層(這種方法增加了層級,也增加的編碼的複雜度)

以上是解決行動端touchstart事件穿透問題方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn